这篇博文是记录我从2020.6.14 开始学习vue的一些心得。
注:vue 和 vue.js 是一样的。
用于标签之间,而非属性内部
Document
TEST
Document
TEST
哈哈哈
{{fullName}}{{totalPrice}}
{{fullName}}{{totalPrice}}
aaa
aaa
当 vue 渲染页面的时候,不是直接把 html css 代码渲染到页面上,而是先把这些代码放进 虚拟dom 中进行处理之后,才放到页面上显示。
所以,当有一些代码,比如 input 可以被复用的时候,vue就会拿来复用。
就如下面的例子,切换输入框的时候,input实际上是“同一个”,只是有一些属性被修改因而不会完全一样。
如果想要避免这种被复用的情况,可以给不希望被复用的组件添加唯一的 key 属性,这样就可以帮助 虚拟dom 更好地运作,而不是盲目复用。
如果是遍历数组,可选项为(value,key),必须按顺序。
如果是遍历对象,可选项为(value,key,index),必须按顺序。
给 key 赋值时,不要赋 index ,因为 index 是很有可能会发生变化的,要赋真正唯一的数据,比如 value。
1 其中 splice 是可以进行 插入、替换、删除等操作。
具体语法:splice(索引号,删除的数组元素数量,插入的内容)。当第二个参数为0的时候,可以插入元素。
2 注意:直接用索引号去赋值修改数组元素是不能响应式变化的!
如果想要修改数组某个位置的元素,可以用splice或者Vue.set
{{key}} {{value}}
map 映射,作用是通过遍历对数组元素进行某一相同操作;
reduce 汇总,用于汇总数据,比如求和;
filter 过滤,筛选数据。
{{sex}}
乒乓球
篮球
足球
排球
手球
{{hobbies}}
{{fruit}}
{{fruits}}
{{message}} {{typeof message}}
全局组件:可以在不同的vue实例里面使用
局部组件:只能在所注册的vue实例里面使用
下面代码框内的代码,cpn1 作为 cpn2 的子组件,而 cpn2 作为 vue 实例的局部组件。cpn1是不能直接在 div#app 中使用的。
我哈哈哈哈
我呵呵呵呵
我嘿嘿嘿嘿
注意:组件的动态数据放在自己的data里面,但是这个data是一个函数。如果data是一个对象写法,则复用时所有组件共用一个data对象,这是不允许的;如果data是一个函数写法,复用时所有组件都有自己单独的一个对象用来存放数据。
{{message1}}
{{message2}}
{{message3}}
Document
{{msg1}}
{{msg2}}
{{msg3}}
Document
{{msg1}}
{{msg2}}
{{msg3}}
{{item}}
因为如果是自定义属性,有可能会使用到驼峰命名法。但是由于html是不区分大小写的,所以它会报 missing 错误。所以,传值的时候,自定义属性要么不用驼峰命名,要么就在用驼峰命名的时候,在v-bind绑定的时用 " - " 分隔单词。
{{count}}
注意:
{{msg1}}{{msg2}}
{{msg1}}{{msg2}}
哈哈哈哈
我是第三个
我是第三个
我是第三个
{{msg1}}{{msg2}}
替换了中间
替换了右边
左边
中间
右边
{{item}} -
{{item}}