摘要:数据绑定方式普通的文本可以使用语法双大括号插在标签内部表达式每个绑定都只能包含单个表达式只会添加一次当再次修改时,不会触发机制插入文本较少使用插入不推荐使用计算属性基于它们的依赖进行缓存的,只有在它的相关依赖发生改变时才会重新求值。
数据绑定方式:
1.普通的文本 可以使用 “Mustache”语法 (双大括号) {{data}} 插在标签内部eg:
{{}}
//js: data{ msg:"welcome to vuejs!", ok:true, number:0 } //html:{{msg}}
javascript表达式:每个绑定都只能包含单个表达式{{ok?"Yes":"No"}}
{{ number + 1 }}
{{ msg.split("").reverse().join("") }}
2.v-once
{{msg}}
只会添加一次msg,当再次修改msg时,不会触发update 机制3.v-text 插入文本(较少使用) v-html 插入html(不推荐使用)
data{ msg:"welcome to vuejs!", rawHtml:"pppp
" }
4.v-bind <=> : v-on<=> @
v-bind:id="mask" :id="mask"
v-on:click ="showDialog" @click ="showDialog"计算属性
基于它们的依赖进行缓存的,只有在它的相关依赖发生改变时才会重新求值。
computed: { now: function () { return Date.now() } }
计算属性默认只有 getter ,也可以自定义setter属性
// ... computed: { fullName: { // getter get: function () { return this.firstName + " " + this.lastName }, // setter set: function (newValue) { var names = newValue.split(" ") this.firstName = names[0] this.lastName = names[names.length - 1] } } } // ...
现在再运行 vm.fullName = "John Doe" 时,setter 会被调用,vm.firstName 和 vm.lastName 也相应地会被更新。
Class 与 Style 绑定。对象语法:
data{ isActive:true, hasError:false }
some message
数组语法:
//数组执行分支判断some message
//or //数组语法中使用对象语法some message
条件渲染 v-if & v-show
不能2个一起用在同一个标签
最多是 在v-if 条件里面加一个
如
列表渲染 v-forsome message
items是源数据 item 是数组元素迭代别名
js: data: { parentMessage: "Parent", items: [ { message: "Foo" }, { message: "Bar" } ] } //html:
(item, index)中的 index 是索引
v-for on a
{{ item.msg }}
v-for with v-if
//在循环体内判断
一个组件的v-for,这里么的:key是必须的。
//为了传递迭代数据到组件里,我们要用 props //*不自动注入 item 到组件里的原因是,因为这使得组件会与 v-for 的运作紧密耦合。在一些情况下,明确数据的来源可以使组件可重用*
! 还有一个要注意的是 当你用 的是ul ol标签的时候,通常里面允许放,可以用 is="todo-item" 指向说明
当源数据为json 格式对象时
//js: data: { object: { firstName: "John", lastName: "Doe", age: 30 } } //html: (也可以提供第二个的参数为键名 key):{{ key }}: {{ value }}
要修改 vue $data里面的 源数据 检查注意事项
??修改数组方法有
#变异方法
push()
pop()
shift()
unshift()
splice()
sort()
reverse()
vm.items.push({ message: "Baz" });
#替换数组
filter()
concat()
slice()
vm.items = vm.items.filter(function (item) { return item.message.match(/Foo/) }) vm.items = vm.items.concat([~]); ~~
由于 JavaScript 的限制,Vue 不能检测以下变动的数组:
1.直接赋值来设置一个项或者数组长度
如:
vm.items[indexOfItem] = newValue vm.items.length = newLength
解决方法:
使用vue 对象的set方法 或者 数组内置 方法splice
//设置一个项 // Vue.set Vue.set(vm.items, indexOfItem, newValue) // Array.prototype.splice vm.items.splice(indexOfItem, 1, newValue) //改变数组的长度 vm.items.splice(newLength)
??修改对象
var vm = new Vue({ data: { a: 1 } }) // `vm.a` 现在是响应式的 vm.b = 2 // `vm.b` 不是响应式的
那么怎么解决? 这里Vue 对象的set方法又可以帮到我们
eg: Vue.set(object, key, value)
var vm = new Vue({ data: { userProfile: { name: "Anika" } } })
向以上 data中添加一个项 如下:
Vue.set(vm.userProfile, "age", 27)
你还可以使用 vm.$set 实例方法,它只是全局 Vue.set 的别名:
=>
this.$set(this.userProfile, "age", 27)
var vm = new Vue({ data: { userProfile: { name: "Anika", age:27 } } })
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/88741.html
摘要:本文是本人在搭建阿里云的服务器环境的时候,结合阿里云提供的文档和自己编译安装过程中的各种得来。适用对象适用于熟悉操作系统,刚开始使用阿里云进行建站的个人用户。 本文是本人在搭建阿里云的ECS服务器环境的时候,结合阿里云提供的文档和自己编译安装过程中的各种ERROR得来。 适用对象 适用于熟悉Linux操作系统,刚开始使用阿里云进行建站的个人用户。 基本流程 使用云服务器 ECS 搭建L...
摘要:本文是本人在搭建阿里云的服务器环境的时候,结合阿里云提供的文档和自己编译安装过程中的各种得来。适用对象适用于熟悉操作系统,刚开始使用阿里云进行建站的个人用户。 本文是本人在搭建阿里云的ECS服务器环境的时候,结合阿里云提供的文档和自己编译安装过程中的各种ERROR得来。 适用对象 适用于熟悉Linux操作系统,刚开始使用阿里云进行建站的个人用户。 基本流程 使用云服务器 ECS 搭建L...
阅读 1321·2021-11-22 14:44
阅读 2462·2021-09-30 09:47
阅读 1234·2021-09-09 11:56
阅读 2099·2021-09-08 09:45
阅读 4013·2021-08-31 09:40
阅读 1267·2019-08-30 15:52
阅读 2054·2019-08-30 14:09
阅读 1603·2019-08-26 17:04