Vue.js
(读音 /vjuː/, 类似于 view) 是一套构建用户界面的 渐进式框架。与其他重量级框架不同的是,Vuejs
采用自底向上增量开发的设计。Vuejs
的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。另一方面,Vuejs
完全有能力驱动采用单文件组件和 Vuejs
生态系统支持的库开发的复杂单页应用。
Vue.js
的目标是通过尽可能简单的 API
实现响应的数据绑定和组合的视图组件。有部分功能和Jquery
是差不多的,Vuejs
能做的,Jquery
也能做,Vuejs
在实现相同功能的时候更简单.
1 、vuejs数据绑定
- 在
Vuejs
中变量在html中绑定标签是两个花括号{{变量}} - 在
vuejs
中的获取页面中id不可以放在body和html标签里 vuejs
启用的区域就在id为demo的div块中
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <title>Vuejs简单示例</title> <!--引入开发版本vue.js,在开发版本中会有很多友好的提示--> <script src='./vue.js'></script> </head> <body> <!--定义一个id为demo的div--> <div id="demo"> <!--此处的msg为在vuejs中定义的变量,放在两个花括号中--> <h1>Hello {{msg}}</h1> </div> <script> <!--实例化vuejs--> new Vue({ <!--el指定的id为css选择器--> el:'#demo', <!--我们的变量统统放到data中--> data:{ <!--此处声明的变量msg内容为实验--> msg:'实验' } }) </script> </body> </html>
上面的代码实际上初始化了Vue,我们看里面两个属性;el
表示在html中哪个部分起作用,语法类似jquery
的节点选择器,在这里我们看到它选择了一个ID
。
data
属性就是我们要定义变量的地方:
msg:'实验'
我们定义了一对键值,很好理解。
2、 vuejs数据双向绑定
v-model
指令在表单控件元素上创建双向数据绑定。它会根据控件类型自动选取正确的方法来更新元素。vuejs
双向绑定并不能适用于所有的html表单,限制为input
、select
、textarea
、components
。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <title>Vuejs简单示例</title> <!--引入开发版本vue.js,在开发版本中会有很多友好的提示--> <script src='./vue.js'></script> </head> <body> <!--定义一个id为demo的div--> <div id="demo"> <!--此处的msg为在vuejs中定义的变量,放在两个花括号中--> <h1>Hello {{msg}}</h1> <!--此处我们创建一个文本框并定义它的v-model的属性的内容为我们在vue中定义的msg--> <input type="text" v-model="msg"> </div> <script> <!--实例化vuejs--> new Vue({ <!--el指定的id为css选择器--> el:'#demo', <!--我们的变量统统放到data中--> data:{ <!--此处声明的变量msg内容为实验--> msg:'实验' } }) </script> </body> </html>
我们在改变文本框内容的同时,在h1
标签中的msg
也同时会改变。以后我们说双向绑定,都是指的是类似input
这样的,自带change
事件的表单项目。
3、 vuejs
中的v-text
属性
在vuejs中可以使用v-text
属性来控制整个标签的内容绑定,在上面中我们使用了{{msg}}
在页面中绑定数据,另外我们也可以使用vuejs
的v-text
属性来绑定数据
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <title>Vuejs简单示例</title> <!--引入开发版本vue.js,在开发版本中会有很多友好的提示--> <script src='./vue.js'></script> </head> <body> <!--定义一个id为demo的div--> <div id="demo"> <!--此处的msg为在vuejs中定义的变量,放在两个花括号中--> <h1>Hello {{msg}}</h1> <!--此处我们把v-text属性放到span标签中--> <span v-text='msg'>hello shiyanlou</span> </div> <script> <!--实例化vuejs--> new Vue({ <!--el指定的id为css选择器--> el:'#demo', <!--我们的变量统统放到data中--> data:{ <!--此处声明的变量msg内容为实验--> msg:'实验' } }) </script> </body> </html>
浏览结果可以看到在span
标签中的内容并没有被输出,输出的是我们在vue
定义的变量msg
的内容。v-text
属性会把整个标签的内容绑定为我们定义的内容。