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
属性会把整个标签的内容绑定为我们定义的内容。