一. vue编写需要注意的细节
1.vue初始化实例时使用首字母大写,在添加全局配置时也要首字母大写(如添加组件Vue.component("",{template:"",prop:[]}))
2.Vue的配置项中名称内不能含有中短横- 星号* @ 标点,否则会报错.可以使用下划线;
3.设置Vue的全局配置如,组件,筛选函数,注意位置,设置前的Vue实例是不包含设置内容的
4.新版Vue的{{$index}}取消了,在for循环中要使用{{index}}取索引值 ,如 <li v-for="(item,index) in items">{{item}}{{index}}</li>
第一个是值,第二个参数是索引;
5.更改data中的值直接写app.msg即可(不用中间写data)
6.不要在选项属性或回调上使用箭头函数
因为箭头函数是和父级上下文绑定在一起的,this 不会是如你所预期的 Vue 实例
7.由于html的特性是不区分大小写的,因此HTML中的标签哟啊传递值要写成短横线的形式;
8.对于所有的数据绑定,Vue提供了js表达式支持,每个绑定智能包含单个表达式,语句和控制流不会生效 否则会报compiling编译错误
二. Vue接口列举
1.插值 {{}}
2.v-if
3.v-show
4.v-for
5.v-model
6.new Vue({
el"",
data:{},
methods:{},
computed:{},
create:function(){this上下文指向调用他的Vue实例}
})
7.逆转字符串 this.message.split('').reverse().join('')
8.Vue全局注册组件 Vue.component("name",{template:"",props:[]/{}})
9.v-bind 将待办项传入循环输出的每个组件中
10.在一个大型的应用中,有必要将整个应用程序划分为组件
11.Vue应用是由一个通过new Vue创建的根Vue实例,以及可选的嵌套的,可复用的组件树组成.所有的Vue组件都是vue
实例并且接受相同的选项对象(一些根实例特有的选项除外)
12.Vue 实例被创建时他向响应式系统中加入了其data对讲中能找到的所有的属性,当这些属性值发生改变时,视图将会产生"响应",即匹配更新为新的值
13.ovject.freeze(data-obj)
14.$el
15.$data
16.$watch("data",function(new,old){})
17.var stop = app.$watch("a",cd);
stop();
18.生命周期钩子
created 钩子可以用来在一个实例被创建之后执行代码
19 $mount()初始化实例时未写入el,采用手动挂在到dom上
20 Vue使用了基于HTML的模板语法,允许开发中声明式的将DOM绑定至底层Vue实例的数据
在底层实现上,Vue将模板编译成虚拟DOM渲染函数,结合响应系统Vue能够智能地计算出最少需要重新渲染多少组件,并把DOM操作次数减到最少;
21 文本插值 双大括号,
v-once指令,执行一次性地插值,当数据改变是,插值处的内容不会更新;
22 v-html
23.v-bind MUstache语法不能作用在html特性上,遇到这种情况应该使用v-bind命令
24.指令的作用是档表但是的值改变是,将其产生的两代影响响应式的作用于DOM.
25.有的指令可以接受一个参数,指令名称之后以冒号表示例如v-bind:href v-on:click
26修饰符
MOdifiers是以半角句号.致命的天数后缀,用于之处一个指令应该以特殊方式绑定.例如
.prevent修饰符告诉 v-on指令对于触发的时间调用 event.perventDefault();方法
27缩写语法
v-bind :
v-on @
冒号和@杜宇特性名称来说是合法字符
28.模板内的表达式适用于简单运算的在模板中放入天多的逻辑会让mubna过重切难以维护,对于复杂逻辑你都应该使用计算属性
29. computed revers
计算属性是基于他们的依赖进行缓存的,计算属性只有在他的相关依赖发生改变是才会重新求职,这意味msg还没有改变,多次房屋计算属性 reverse 会立即返回之前计算结果而不必再次执行函数
Date.new() 不是响应式依赖不会更新
调用方法总会再次执行函数;
三. 存疑
1.Vue组件的 款组件数据流 自定义事件通信 构建工具集成
2.v-once xxx
3. JSX 语法
4.Mustache语法