1 Vue
渐进式的 js 框架
1.1 VM 实现原理
1.2 其他 MVVM 实现者
1.3 vue CDN
https://www.bootcdn.cn/ https://www.bootcdn.cn/vue/2.6.10/
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Vue 测试案例
</title>
</head>
<body>
<div id="app">
<span>
{{title}}
</span>
<input type="text" v-model="title">
</div>
</body>
<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.10/vue.js"></script>
<script>
new Vue({
el:'#app',
data:{
title: "你好,Vue",
}
})
</script>
</html>
2 插值表达式
不能写在 html 的标签中,不能作为属性的值得部分
3 MVVM 双向数据绑定v-model
将标签的 value 值与 vue 实例中的 data 属性值进行绑定
4 事件绑定 v-on
通过配合具体的事件名,来绑定 vue 中定义的函数
<body>
<div id="app">
<span>
{{title}}
</span>
<input type="text" v-on:input="changeTitle">
</div>
</body>
<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.10/vue.js"></script>
<script>
new Vue({
el:'#app',
data:{
title: "你好,Vue",
},
methods:{
changeTitle:function (){
console.log("changeTitle:")
}
}
})
</script>
4.1 补充 v-on
在响应函数里,可以指明使用 event 内置的参数对象。该对象表示当前事件,可以通过 event.target.value 来获得当前事件对象的 value 的值可以简写 v-on:input <==> @input
<body>
<div id="app">
<span>
{{title}}
</span>
<input type="text" v-on:input="changeTitle">
</div>
</body>
<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.10/vue.js"></script>
<script>
new Vue({
el:'#app',
data:{
title: "你好,Vue",
},
methods:{
changeTitle:function (event){
console.log(event.target.value)
this.title = event.target.value
}
}
})
</script>
4.2 this 的用法
表示当前 vue 对象
5 属性绑定 v-bind
html 中的所有属性,都不能使用插值表达式可以简写
<body>
<div id="app">
{{link}}
<a v-bind:href="link">百度
</a>
<a :href="link">百度2
</a>
</div>
</body>
<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.10/vue.js"></script>
<script>
new Vue({
el:'#app',
data:{
link:"http://www.baidu.com",
},
})
</script>
6 v-once 指令
此时该标签的插值表达式,只获取一次,之后数据的变化不影响此插值
7 v-html
<body>
<div id="app">
<span v-html="link">
</span>
</div>
</body>
<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.10/vue.js"></script>
<script>
new Vue({
el:'#app',
data:{
link:"<a href='http://www.baidu.com'>百度</a>",
},
})
</script>
8 v-text
<body>
<div id="app">
<span v-text="link">
</span>
</div>
</body>
<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.10/vue.js"></script>
<script>
new Vue({
el:'#app',
data:{
link:"<a href='http://www.baidu.com'>百度</a>",
},
})
</script>