1. VUE的模板语法

(1) 引入Vue.js文件
(2) 创建Vue对象

el: 指定用vue来管理页面的哪个标签区域data: 初始化数据(页面可以访问)

(3) 双向数据绑定: v-model
(4) 使用大括号表达式,向页面输出数据, 可以调用对象的方法. {{exp}}
(5) 理解vue的MVVM实现
M - Model 模型, 数据对象(data)
V - View 视图, 模板页面
VM - viewModel 视图模型(Vue的实例)

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>vue基本使用</title></head><body><div id="app">    <input type="text" v-model="message">    <p>hello {{message}}</p></div><script type="text/javascript" src="vue.js"></script><script type="text/javascript">    new Vue({        el: '#app',        data: {            message: 'aaa'        }    })</script></body></html>

效果展示:hello xxx可随着输入框内容的变化而变化

模板的理解:

* 动态的html页面* 包含了一些js语法代码* 大括号表达式* 指令(以v-开头的自定义标签属性)

大括号表达式

* 语法: {{exp}}* 功能: 向页面输出数据,可以调用对象的方法

举例1:大括号表达式

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>大括号表达式</title></head><body><div id="app">    <h5>大括号表达式</h5>    <p>{{message}}</p>    <p>{{message.toUpperCase()}}</p><!--调对象的方法--></div><script type="text/javascript" src="vue.js"></script><script type="text/javascript">    new Vue({        el: '#app',        data: {            message: 'I will back '        }    })</script></body></html>

结果:

举例2:
v-text 将内容理解为文本, 即使内容是标签
v-html 将内容理解为标签

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>大括号表达式</title></head><body><div id="app">    <p v-text="message"></p><!--相当于textContent-->    <p v-html="message"></p><!--相当于innerHTML--></div><script type="text/javascript" src="vue.js"></script><script type="text/javascript">    new Vue({        el: '#app',        data: {            message: '<a href="http:/www.baidu.com">I will back</a>'               }    })</script></body></html>

结果:

强制数据绑定

功能:指定变化的属性值
完整写法:
v-bind:xxx='yyy' //yyy会作为表达式来解析执行
简洁写法:
:xxx='yyy'
举例:

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>强制数据绑定</title></head><body><div id="app">    <h5>强制数据绑定</h5>    <img src="imgUrl">    <img v-bind:src="imgUrl">    <img :src="imgUrl"><!--简写形式--></div><script type="text/javascript" src="vue.js"></script><script type="text/javascript">    new Vue({        el: '#app',        data: {            imgUrl: 'img1.png'        }    })</script></body></html>

结果:<img src="imgUrl">将属性值当作常量imgUrl, 未找到图片,则不显示。如果使用强制绑定,则src的属性值当作表达式解析

绑定事件监听

功能: 绑定指定事件名的回调函数
完整写法:
v-on:事件名 = 'xxx'
简洁写法:
@事件名='xxx'

举例:

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>绑定事件监听</title></head><body><div id="app">    <h4>绑定事件监听</h4>    <button v-on:click="test">点击</button>    <button v-on:click="test1('abc')">点击1</button></div><script type="text/javascript" src="vue.js"></script><script type="text/javascript">    new Vue({        el: '#app',        data: {        },        methods: {            test(){                alert('hello')            },            test1(content){                alert(content)            }        }    })</script></body></html>

结果:
使用methods属性,属性值为事件绑定的构造函数。根据需要,可传参,可不传参。