不用直接操作DOM(虚拟dom)就能改变里面的数据;
https://cn.vuejs.org/v2/guide/
<script src="https://cdn.jsdelivr.net/npm/vue"></script>
<script src="./vue.min.js"></script>
1.先引入
2. 创建一个 Vue 实例(每个 Vue 应用都是通过用 Vue 函数创建一个新的 Vue实例.
var vm = new Vue({
// 选项
})
3.实例化vue对象
let vm =new Vue({
el:"" //挂载
data:{
//存放数据
myname:'lisi' //变量,状态
},
methods{
//方法
aa:function(){
}
}
})
<div id="box">
{
{
name}}
</div>
<script src="./vue.min.js"></script>
<script>
var Vue = new Vue({
el:"#box",
data:{
name:"张三"
}
})
</script>
.直接使用{
{
}} 将数据解释为普通文本,而非html代码
v-html : 可以解析标签
v-text : 只能解析文本,不能解析标签
v-bind : 绑定属性 简写: :
v-once :执行一次性地插值,当数据改变时,插值处的内容不会更新
v-on:绑定事件 简写 :@
v-show/v-if: 显示/隐藏
v-pre: 不解析,原样输出
v-directive :自定义属性
v-for : 列表循环
v-solt:插槽
methods:{
方法名:function(){
},
方法名(){
}
}
用{ {}}调用这个方法 要写() { {aa()}}
事件触发 @click=‘aa’ 可以有()也可以没有
如果需要传参数,加上() 把$event这个特殊参数传进去可以获取事件对象
computed:{
bb(){
return this.arr.filter(a=>a.indexOf(this.search) > -1)
},
cc:{
//调用计算属性时自动触发get方法,修改计算属性时自动触发set方法
set(a){
console.log('我是set'+"接收的内容"+a+"接收的内容")
},
get(){
console.log('我是get')
return this.arr.filter(a=>a.indexOf(this.search) > -1)
}
}
},
注意点 :
计算属性有缓存
直接{ {}}调用不用写()
当计算属性所依赖的属性发生变化时他会重新计算一次
计算缓存:
计算属性是基于它们的依赖进行缓存的;
计算属性只有在它依赖的属性发生改变时才会重新计算;
计算属性 watch
watch:{
name(newvalue,oldvalue){
//计算属性可以接受两个参数,第一个参数是新的属性值,第二参数是老的属性值
// this.age
// console.log('name属性发生变化了')
console.log(newvalue,oldvalue)
}
注意点: