欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 艺术 > 20241111继续学习vue

20241111继续学习vue

2025/2/22 2:03:39 来源:https://blog.csdn.net/xiezhuangshunv/article/details/143672161  浏览:    关键词:20241111继续学习vue

1

data 选项来声明组件的响应式状态. 

此选项的值应为返回一个对象的函数.

此对象的所有顶层属性都会被代理到组件实例 (即方法和生命周期钩子中的 this) 上.

export default {data() {return {count: 1}},// `mounted` 是生命周期钩子mounted() {// `this` 指向当前组件实例console.log(this.count) // => 1// 数据属性也可以被更改this.count = 2}
}

虽然也可以不在 data 上定义,直接向组件实例添加新属性,但这个属性将无法触发响应式更新。

Vue 在组件实例上暴露的内置 API 使用 $ 作为前缀。它同时也为内部属性保留 _ 前缀。因此,你应该避免在顶层 data 上使用任何以这些字符作前缀的属性。

2

要为组件添加方法,我们需要用到 methods 选项。它应该是一个包含所有方法的对象:

export default {data() {return {count: 0}},methods: {increment() {this.count++}},mounted() {// 在其他方法或是生命周期中也可以调用方法this.increment()}
}

和组件实例上的其他属性一样,方法也可以在模板上被访问。在模板中它们常常被用作事件监听器:

<button @click="increment">{{ count }}</button>

3

在 Vue 中,默认情况下,状态是深度响应的。这意味着当改变嵌套对象或数组时,这些变化也会被检测到:

export default {data() {return {obj: {nested: { count: 0 },arr: ['foo', 'bar']}}},methods: {mutateDeeply() {// 以下都会按照期望工作this.obj.nested.count++this.obj.arr.push('baz')}}
}

4

要等待 DOM 更新完成后再执行额外的代码,可以使用 nextTick() 全局 API:

import { nextTick } from 'vue'export default {methods: {async increment() {this.count++await nextTick()// 现在 DOM 已经更新了}}
}

5

有状态方法, 这个公司项目好像没用到.

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词