怎样去定位你所未知的东西:尤其是想知道哪个view查询什么内容

本文介绍了一种通过查询Oracle数据库中的dba_objects和dict视图来快速定位与特定关键字(如'ROLE')相关的表和视图的方法。这种方法有助于数据库管理员或开发者高效地了解数据库中与特定功能或对象相关的数据结构。

 

    假如我要查有关 role 相关的东西,倚重dba_objects,于是:

 

        SQL> select object_name from dba_objects where object_name  like '%ROLE%';
       
        OBJECT_NAME
        --------------------------------------------------------------------------------
        DBA_ROLES
        DBA_ROLE_PRIVS
        DEFROLE$
        I_DEFROLE1
        JIS$ROLE_TRIGGER$
        ROLE_ROLE_PRIVS
        ROLE_SYS_PRIVS
        ROLE_TAB_PRIVS
        SESSION_ROLES
        USER_ROLE_PRIVS
        DBA_ROLES
       
        OBJECT_NAME
        --------------------------------------------------------------------------------
        DBA_ROLE_PRIVS
        ROLE_ROLE_PRIVS
        ROLE_SYS_PRIVS
        ROLE_TAB_PRIVS
        SESSION_ROLES
        USER_ROLE_PRIVS
        VBZ$RG_ROLE_OIDX
        VBZ$ROLE_GRANTS
       
        19 rows selected.

 

    大家在这里结果里面一看,是不是就知道哪些视图或表记录了相关内容?最多,在 desc 看一下,或者再实验来检验一下,这时查文档也可以很容易就定位了。

 

    这是个人在不熟悉view的时候长期使用的一种办法,说起来很简单,但是却很有效!!!!

    今天补上同类好东西:

     select table_name from dict where table_name like '%ADVICE%';

 

<think>首先,用户的问题是关于 Vue 的 computed 属性中使用计算属性时出现的错误:[Vue warn]: Unknown custom element: <viwe> - did you register the component correctly? 用户指定了错误信息,其中包含 "<viwe>",这看起来像是拼写错误,可能是 "<view>" 或类似组件名的误写。 回顾引用内容: - 引用[1]、[2]、[3]、[4]、[5] 都讨论了类似的错误:"Unknown custom element",原因通常是组件未正确注册。 - 常见的错误原因包括:组件未注册、注册时使用驼峰命名但在模板中使用时需要短横线分隔(kebab-case)。 - 引用[5] 特别提到:HTML 标签名大小写不敏感,驼峰命名需要使用短横线分隔或小写。 用户当前的问题是:在 computed 属性中使用计算属性时出错。错误信息指向 "<viwe>",这应该是组件名。 用户说:“在Vue的computed中使用计算属性时”,但错误是关于组件的。可能在 computed 属性中返回了组件或类似的东西?或者错误发生在模板中,但用户认为与 computed 相关。 错误信息:"Unknown custom element: <viwe>",这表明在模板中使用了 <viwe> 标签,但 Vue 没有识别出这个组件名。所以,根本原因还是在组件注册上,而不是 computed 属性本身。 关键点: - 错误发生在模板中,当 Vue 遇到未知的自定义元素时。 - computed 属性本身不会引起这个错误,除非它在返回的内容中涉及组件,但这不太可能。computed 属性通常返回数据值。 - 用户可能误解了错误来源。错误可能是因为在模板中使用了未注册的组件,而 computed 属性可能只是计算了某些值,但没有直接导致错误。 我的回答应该: 1. 解释错误原因:组件未正确注册。 2. 提供常见解决方案。 3. 根据引用内容,强调命名约定(驼峰 vs 短横线)。 4. 确保回答结构清晰。 5. 生成相关问题。 错误的具体原因: - 组件 "viwe" 可能没有注册。 - 拼写错误:可能应该是 "view",用户打字错误。 - 注册方式不正确:全局注册 vs 局部注册。 - 命名问题:注册时用了驼峰(如 myView),但在模板中使用时没有写成短横线形式(如 my-view)。 在 computed 中使用计算属性:computed 属性是用于计算数据值的,它返回的值用于模板。但错误是关于自定义元素的,所以 computed 可能间接引入了组件,但本质还是组件未注册。 可能的场景: - 用户在 computed 中返回一个组件实例或类似的东西,但这不正常。 - 更可能的是,用户在模板中写了 <viwe>,而 "viwe" 组件没有注册。 回答结构: - 先澄清错误类型:这是组件注册问题。 - 解释错误原因。 - 提供解决方案。 - 建议检查拼写。 - 生成相关问题。 引用: - 参考引用[2]:注册组件时驼峰命名,使用组件时要用横线隔开。 - 引用[5]:HTML标签大小写不敏感,驼峰命名需要短横线分隔。 - 引用[3]:组件未引入。 用户错误:"<viwe>",看起来像拼写错误,可能是 "view"。 在回答中,自然地添加引用标识。 最终回答: - 用中文。 - 结构清晰。 - 生成相关问题。 </think>### Vue computed 中使用计算属性报 "[Vue warn]: Unknown custom element: <viwe>" 错误的原因分析 您在 Vue 的 `computed` 属性中使用计算属性时遇到错误 `[Vue warn]: Unknown custom element: <viwe> - did you register the component correctly?`,这个错误的核心原因是 Vue 无法识别模板中的自定义组件 `<viwe>`。该错误与 `computed` 属性本身无直接关联,而是源于组件注册或使用时的常见问题。以下是详细的解释和解决方案: #### 错误原因分析 1. **组件未正确注册**(最常见原因): - Vue 要求所有自定义组件必须先注册(全局或局部),才能在模板中使用。错误中的 `<viwe>` 可能未被注册,或注册方式错误(如拼写不一致)。 - 例如,如果组件注册时命名为 `View`,但在模板中使用 `<viwe>`(拼写错误),Vue 会将其视为未知元素[^2][^3]。 2. **命名约定冲突**: - HTML 标签名大小写不敏感,浏览器会自动将大写转为小写。如果组件注册时使用驼峰命名(如 `Viwe`),在模板中必须使用短横线分隔(kebab-case)形式,如 `<viwe>`。 - 如果注册为 `ViweComponent`,但模板中写为 `<Viwe>`(未转换格式),会导致错误[^5]。 3. **拼写错误或组件名不一致**: - 错误信息中的 `<viwe>` 疑似拼写错误(可能应为 `<view>` 或其他组件名)。这在开发中常见,特别是在手动输入组件名时。 - 如果 `computed` 属性返回的数据涉及动态渲染组件(如通过 `v-if` 或 `v-for` 控制 `<viwe>` 的显示),但组件名未正确引用,会触发此警告[^1]。 4. **组件作用域问题**: - 局部注册组件时,必须在当前组件的 `components` 选项中声明。例如,若 `<viwe>` 是子组件,但未在当前页面的 `components` 中注册,Vue 无法识别[^2][^4]。 5. **与 `computed` 的间接关联**: - `computed` 属性通常是纯计算逻辑(如返回数据值),它本身不会直接导致组件注册错误。但如果模板中使用了 `computed` 返回的值来动态绑定组件(如 `v-bind:is="computedComponent"`),而绑定的组件名未注册,就会引发此警告。这本质上是组件注册问题,而非 `computed` 的缺陷[^3]。 #### 解决方案步骤 1. **检查并修正组件名**: - 确认组件注册名与模板使用名一致。如果是驼峰命名(如 `MyView`),模板中必须写成 `<my-view>`。 - 修复拼写错误:验证 `<viwe>` 是否应为 `<view>`(常见拼写错误)或其他正确名称。 2. **正确注册组件**: - **局部注册(推荐)**:在当前组件的 `components` 选项中声明组件。 ```vue <script> import View from './components/View.vue'; // 导入组件 export default { components: { // 注册组件 Viwe: View // 或直接使用 'View',但模板中需写为 <view> 或 <viwe>(按注册名) }, computed: { myComputedProp() { return someValue; // 计算属性逻辑 } } } </script> <template> <viwe v-if="myComputedProp"></viwe> <!-- 正确使用 --> </template> ``` - **全局注册**:在 `main.js` 中全局注册,确保所有组件可用。 ```javascript import Vue from 'vue'; import View from './components/View.vue'; Vue.component('viwe', View); // 全局注册,模板中可直接使用 <viwe> ``` 3. **校验组件引入路径**: - 确保导入语句路径正确(如 `import View from '@/components/View.vue'`),避免因路径错误导致注册失败[^3][^4]。 4. **确保模板语法正确**: - 在动态渲染场景中,如果 `computed` 返回组件名(如 `computedComponent() { return 'viwe'; }`),需确认返回的字符串与注册名完全匹配。 5. **调试工具辅助**: - 使用 Vue Devtools 检查组件树,确认 `<viwe>` 是否在注册列表中。 #### 示例修正 假设错误源于组件名拼写错误: ```vue <template> <div> <!-- 错误:组件名拼写为 <viwe>,但注册名为 <view> --> <viwe v-if="showView"></viwe> </div> </template> <script> import View from './View.vue'; export default { components: { view: View // 修正:注册名应为 'view' }, computed: { showView() { return this.someCondition; // 计算属性控制显示 } } } </script> ``` 修正后,将模板中的 `<viwe>` 改为 `<view>`,错误即消失[^2][^5]。 ### 相关问题 1. 如何避免 Vue 组件注册时的命名冲突? 2. Vue 中全局注册与局部注册组件的优缺点是什么? 3. 如何在动态组件中使用 computed 属性避免常见错误? 通过以上步骤,您能快速定位并解决错误。如果问题持续,请检查浏览器控制台的完整堆栈信息[^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值