一、模板
1.想让Vue工作,就必须创建一个Vue实例,且要传入一个配置对象;
2.root容器里的代码依然符合html规范,只不过混入了一些特殊的Vue语法;
3.root容器里的代码被称为【Vue模板】;
4.Vue实例和容器是一一对应的;
5.真实开发中只有一个Vue实例,并且会配合着组件一起使用;
6.{{xxx}}中的xxx要写js表达式,且xxx可以自动读取到data中的所有属性;
7.一旦data中的数据发生改变,那么页面中用到该数据的地方也会自动更新;
注意区分:js表达式 和 js代码(语句)
1.表达式:一个表达式会产生一个值,可以放在任何一个需要值的地方:
(1). a
(2). a+b
(3). demo(1)
(4). x === y ? 'a' : 'b'
2.js代码(语句)
(1). if(){}
(2). for(){}
模板语法
1.插值语法
Hello,张三
<div id="root">
<h1>Hello, {{name}}</h1>
</div>
<script type="text/javascript"
new Vue({
el:'#root', //el用于指定当前Vue实例为哪个容器服务,值通常为css选择器字符串。
data:{
name:'张三'
}
})
</script>
2.指令语法
3.备注:Vue中有很多的指令,且形式都是:v-????,此处只是拿v-bind举个例子。
<h1>指令语法</h1>
<a v-bind:href="school.url.toUpperCase()" x="hello">点我去{{school.name}}学习1</a>
<a :href="school.url" x="hello">点我去{{school.name}}学习2</a>
<script type="text/javascript">
new Vue({
el:'#root',
data:{
name:'张三',
school:{
name:'百度',
url:'http://www.baidu.com',
}
}
})
</script>
二、数据绑定
Vue中有2种数据绑定的方式:
1.单向绑定(v-bind):数据只能从data流向页面。
2.双向绑定(v-model):数据不仅能从data流向页面,还可以从页面流向data。
备注:
1.双向绑定一般都应用在表单类元素上(如:input、select等)
2.v-model:value 可以简写为 v-model,因为v-model默认收集的就是value值。
<!-- 普通写法 -->
<!-- 单向数据绑定:<input type="text" v-bind:value="name"><br/> -->
<!-- 双向数据绑定:<input type="text" v-model:value="name"><br/> -->
<!-- 简写 -->
单向数据绑定:<input type="text" :value="name" /><br />
双向数据绑定:<input type="text" v-model="name" />
<script>
Vue.config.productionTip = false;
new Vue({
el: "#root",
data: {
name: "张三",
},
});
</script>
1.单向数据绑定
- 语法:v-bind:href ="xxx" 或简写为 :href
- 2. 特点:数据只能从 data 流向页面
2.双向数据绑定
-
语法:v-mode:value="xxx" 或简写为 v-model="xxx"
-
特点:数据不仅能从 data 流向页面,还能从页面流向 data