property:属性;
method:方法;
1、属性直接与对象的某些方面(aspect)相关,或者更确切的说,是与对象表示的事物的某些方面相关。
属性很像变量:你只是通过它们的名字引用它们。
每个属性返回某种类型的一个值。访问属性的值不会改变对象或它所表示的任何事物的任何内容。
某些属性允许你为它们赋新值。这改变了对象的属性以及它表示的潜在内容。
2、方法是对象的程序所能为你做的事情。
方法很像函数和子例程;可以有参数传递给它们。
方法不必返回一个值,但是有些方法可以返回值。
调用方法可以修改对象或者它所表示的现实世界中的事物的某些内容。
1、methods是个方法,比如你点击事件要执行一个方法,这时候就用methods,
2、computed是计算属性,实时响应的,比如你要根据data里一个值随时变化做出一些处理,就用computed。
3、举一个例子帮助理解:
1)<div id="root">;
2) </div>;
3) <script> var vm = new Vue({ el: '#root', data:data, methods:{
4)method_now(){ return Date.now()} },
5)computed:{
6)computed_now: function () { return Date.now()}} })
7)</script>
4、控制台访问:
1)$vm0.computed_now;
2)1491741921719$vm0.computed_now;
3)1491741921719$vm0.computed_now;
4)1491741921719$vm0.computed_now;
5)1491741921719$vm0.method_now;
6)()1491741949941$vm0.method_now;
7)()1491741950734$vm0.method_now;
8)()1491741951445$vm0.method_now;
9)()1491741952117。
5、methods是方法和原生js没区别,大多是需要我们主动调用(比如事件)。
6、computed是get 这个get有点特殊,只要触发所依赖数据的set会自动触发get。我们只关心get的return set由系统触发或者依赖的数据触发,官方说依赖缓存只是为了理解。其实Date.now()这种只是系统不能触发set,不能触发set get当然不会通知观察者。
7、watch 是set 由data触发,我们可以在set里进行自己的条件封装。