vue3 绑定对象区别 vue2 的 this 访问,调用table中cleatSort方法手动清空排序高亮状态。

前言:在 Vue 3 中,不再使用 this 来访问组件实例中的数据和方法,而是采用了一种新的方式—— Composition API。

        Composition API 是 Vue 3 中全新引入的一种 API 风格,它允许开发者将相关逻辑组织在一起,并能够更好地重用和组合逻辑。在 Composition API 中,我们使用函数来定义组件的逻辑,并且可以直接导出这些函数供其他组件进行复用。

        需要注意的是,在某些情况下仍然需要使用 this,比如在生命周期钩子函数中。但是在大部分情况下,使用 Composition API 来定义组件的逻辑会更加推荐。

示例:

1.在表单中绑定 ref="tableComponent"。

<el-table ref="tablecomponent"  >
</el-table>

2.在js中给定 实例变量,

const tableComponent:any=ref();  //any是Typescript中的特殊类型,用来表示任意类型的值,可不写忽略。

也可以具体绑定类型为 :

const tableComponent=ref<InstanceType<typeof Eltable>>()

3.使用对象方法:

 tableComponent.value.cleatSort()。

注意点:在vue3 中你定义的 绑定的tableComponent 响应对象变量 需要导出!!!,否则对应的元素绑定失败则无法进行正常的操作,基本会报错:

这个错误通常是因为在 Vue 3 中使用了错误的响应式对象访问方式。

runtime-core.esm-bundler.js:1108 Uncaught (in promise) TypeError: Cannot read properties of null (reading 'emitsOptions')

遇见这个错误请仔细检查是否正确的绑定了响应式对象和使用它。

最后使用ref响应式对象注意点:

     ①创建响应式对象:使用 ref 函数创建的变量是一个响应式对象,它会自动追踪其值的变化。确保将需要响应式的数据包装在 ref 中。

    ②访问值:使用 ref 创建的响应式对象,实际值存储在 .value 属性中。要访问和修改实际值,请使用 .value。

   ③异步更新:如果在异步操作中更新响应式对象的值,请使用 Vue.nextTick() 或者 await this.$nextTick() 来确保刷新界面。

猜你喜欢

转载自blog.csdn.net/youyudehan/article/details/132907907