component(全局组件)
局部组件(局部组件最好通过对象来注册,把todotitem注册到vue实例中,原来叫todoitem现在还是叫todoitem)
vue提供的创建全局组件的方法(template模板)
props指从父组件接收什么样的内容
v-bind 主要用于属性绑定,比方你的class属性,style属性,value属性,href属性等,只要是属性,就可以用v-bind指令进行绑定。
v-on指监听DOM事件,并在触发时运行一些JS代码,如:v-on:click
v-model 主要是用于表单上数据的双向绑定
template(模板)中要用{{XXXX}}来写入内容
v-on:click等于@click(即监听click事件)
v-bind可以简写成:(冒号)
var vm中的vm一般都是定义一个vue的实例
methods是在vue实例中来识别上边DOM中的绑定事件的方法
以$开头的都是vue实例的一个属性
生命周期函数就是vue实例在某一个时间点会自动执行的函数(解析:https://segmentfault.com/a/1190000008010666)
由上边两个图片可以看出插值表达式 {{XXX}} 和 v-text的的效果是一样的
!!:v-一个指令="是一个JS表达式""引号里边也可以加一个字符串即eg:)
插值表达式也可以加个字符串:
哈哈哈哈其实这三个都可以加字符串
watch,computed和methods的区别:
数据量大,需要缓存的时候用 computed
;每次确实需要重新加载,不需要缓存时用 methods
。watch和computed很相似,watch用于观察和监听页面上的vue实例,在大部分情况下我们都会使用computed,但如果要在数据变化的同时进行异步操作或者是比较大的开销,那么watch为最佳选择。computed是具有缓存的,这就意味着只要计算属性的依赖没有进行相应的数据更新,那么computed会直接从缓存中获取值,多次访问都会返回之前的计算结果。 watch最擅长处理的情景:一个数据影响多个数据 methods方法我们通常在这里面写入方法,只要调用就会重新执行一次,相应的有一些触发条件。需要注意的是,computed是具有缓存的,这就意味着只要计算属性的依赖没有进行相应的数据更新,那么computed会直接从缓存中获取值,多次访问都会返回之前的计算结果。
总结:
在computed和watch方面,一个是计算,一个是观察,在语义上是有区别的。
计算是通过变量计算来得出数据。而观察是观察一个特定的值,根据被观察者的变动进行相应的变化,在特定的场景下不能相互混用,所以还是需要注意api运用的合理性和语义性。
侦听器 watch
是侦听一个特定的值,当该值变化时执行特定的函数。
computed
对于其中变量的依赖是多个的,它的函数中使用了多个 this.xxx
,只要其中一个发生了变化,都会触发这个函数。而 watch
的依赖则是单个的,它每次只可以对一个变量进行监控。