一.新建一个Vue实例可以有下列两种方式:
1.new一个实例
var app= new Vue({ el:'#todo-app', // 挂载元素 data:{ // 在.vue组件中data是一个函数,要写成data () {}这种方式 items:['item 1','item 2','item 3'], todo:'' }, methods:{ // 方法成员 rm:function(i){ this.items.splice(i,1) } } }) // 之后再 export default app// 之后再 export default app // 默认输出,可在其他组件引用 2. 直接
export default { name: '', components: {}, data: () {}, // data函数成员 watch: {}, // watch监视成员 computed: {}, // computed计算成员 created: function () {}, methods: {}, // methods对象成员 actions: {}二. Vue实例,我参数options。它是一个对象。可以选择如下选项:
data函数成员
methods对象成员
模板template
挂载元素el
生命周期钩子
props属性声明
computed计算成员
watch监视成员
选项:watch监视 watch监视是一个对象,键是需要观察的表达式,值可以是
1.回调函数,
2.值也可以是方法名,
3.或者包含选项的对象。
ps:表达式暂时可以理解为一个可以得到值的式子
Ⅰ回调函数,来监视一个值的变化(监视data函数体的变量)
如:
Ⅱ第2种形式:”值也可以是方法名“,可以把watch的函数移到methods内。
则上面的形式可以改为:
data () { return { replaceList: [] } }, watch: { replaceList: function (val, oldVal) { console.log('replaceList changed') } }Ⅲ包含选项的对象
如:上面两种就等同于
data () { return { replaceList: [] } }, watch: { replaceList: 'changed' }, methods: { changed: function (val, oldVal) { console.log('replaceList changed') } }选项:computed计算成员 虽然在Mustache语法内可以使用表达式,即{{}}。比如为数字前加入¥符号,可以使用表达式:
{{‘¥’+money}} 可以,但不推荐。这种情形应尽量用计算成员:
在vue-cli脚手架的.vue组件中 实现RMB前加上美元符号
data () { rerurn { replaceList: 1 } }, mounted: function () { this.$watch('replaceList',function(val, oldVal){ console.log('replaceList changed') }) }, methods: { }