1. Data
Data是Vue.js组件中最重要的属性之一。它是一个对象,包含了组件中所有需要的数据。当数据发生变化时,Vue.js能够自动更新视图。示例代码如下:
new Vue({
data: {
message: 'Hello World!'
}
})
2. Methods
Methods是Vue.js组件中定义方法的属性。这些方法可以在组件中进行调用。示例代码如下:
new Vue({
methods: {
sayHello: function () {
console.log('Hello World!')
}
}
})
3. Computed
Computed是Vue.js组件中计算属性的属性。计算属性是基于其他属性计算得出的新值。计算属性有缓存性质,只有当依赖的属性发生变化时才会重新计算。示例代码如下:
new Vue({
data: {
firstName: 'John',
lastName: 'Doe'
},
computed: {
fullName: function () {
return this.firstName + ' ' + this.lastName
}
}
})
4. Watch
Watch是Vue.js组件中监听属性变化的属性。当监听的属性发生变化时,会执行相应的操作。示例代码如下:
new Vue({
data: {
message: 'Hello World!'
},
watch: {
message: function (newVal, oldVal) {
console.log('Message changed from', oldVal, 'to', newVal)
}
}
})
5. Props
Props是Vue.js组件中传递数据的属性。它们是父组件传递给子组件的属性。子组件需要用props选项声明接收哪些属性。示例代码如下:
Vue.component('child-component', {
props: ['message'],
template: '<div>{{ message }}</div>'
})
new Vue({
el: '#app',
data: {
parentMessage: 'Hello from parent!'
}
})
<div id="app">
<child-component :message="parentMessage"></child-component>
</div>
这里在父组件中通过v-bind绑定一个属性message到子组件中。子组件中props声明该属性可以接收父组件传递过来的值。
6. v-model
v-model是Vue.js组件中双向绑定的属性。它能够将表单输入和应用程序状态之间建立起双向绑定。示例代码如下:
<div id="app">
<input type="text" v-model="message" />
<p>Message: {{ message }}</p>
</div>
new Vue({
el: '#app',
data: {
message: ''
}
})
这里v-model绑定了一个输入框和message变量,输入框中的值发生变化时,message变量也会跟着变化。同时,当message变量发生变化时,视图中的文本也会更新。