Vue官网地址javascript
例如:京东商城、惟品会php
例如:网易云音乐 单页面应用程序的最主要目的是为了让你的先后端开发可以分离,用户体验反而是其次的html
JQ:jQuery是一个快速、简洁的JavaScript框架,是继Prototype以后又一个优秀的JavaScript代码库(或JavaScript框架)。
DOM:文档对象模型(Document Object Model),是W3C组织推荐的处理可扩展标志语言的标准编程接口。前端
那么建立了一个ViewModel,双向绑定是怎么达到的呢?vue
从view这边看,DOM Listeners 能够监听DOM元素的变化,一旦有变化,就更新Model。java
从Model这边看, 当咱们更新了Model后,DOM Bindings就会帮咱们更新Dom元素。程序员
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<!--view层
{{}}表示文本插值,运行{{message}}会被数据对象的message属性替换。
-->
<div id="app">
{{message}}
</div>
</body>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.1.8/vue.min.js">
</script>
<script >
/* Model层 */
var exampleData ={
message: 'hello World!'
}
/* ViewModel层,链接view和model层
vue实例须要传入一个选项对象
   选项对象包括挂载对象,数据,方法,模生命周期钩子(?)
el属性指向view,表示把vue实例绑定某个dom元素
*/
new Vue({
el:'#app',
data:exampleData
})
</script>
</html>
复制代码
效果示例: hello World!ajax
view层改为这样,其余不变。数据库
<div id="app">
<p>{{message}}</p>
<input type="text" v-model="message" />
</div>
复制代码
效果示例:编程
{{message}}
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<style>
table tr td{
border:1px solid gray;
padding:10px;
}
table{
border-collapse:collapse;
width:800px;
table-layout:fixed;
}
tr.firstLine{
background-color: lightGray;
}
</style>
<body>
<!--view层 -->
<div id="app">
<table>
<tbody>
<tr>
<td>单个复选框举例,单行文本和多行文件框相似。</td>
<td><input type="checkbox" v-model="message" >
</td>
<td>{{message}}</td>
</tr>
<tr >
<td>多个复选框举例</td>
<td>
<label for="小鱼">小鱼</label>
<input type="checkbox" value="小鱼" v-model="checked">
<label for="小花"> 小花</label>
<input type="checkbox" value="小花" v-model="checked">
<label for="小草">小草</label>
<input type="checkbox" value="小草" v-model="checked">
</td>
<td>{{checked}}</td>
</tr>
<tr >
<td>单选按钮举例</td>
<td>
<label for="小鱼">小鱼</label>
<input type="radio" value="小鱼" v-model="radio">
<label for="小花">小花 </label>
<input type="radio" value="小花" v-model="radio">
</td>
<td>{{radio}}</td>
</tr>
<tr >
<td>单选选择框举例</td>
<td>
<select v-model="select" >
<option disabled="disabled" value="">---请选择--</option>
<option value="小花">小花</option>
<option value="小草">小草</option>
<option value="小鱼">小鱼</option>
</select>
</td>
<td>{{select}}</td>
</tr>
<tr >
<td>多选选择框举例</td>
<td>
经过Ctrl或shift进行多选
<select v-model="multiple_select" multiple="multiple">
<option disabled="disabled" value="">---请选择--</option>
<option value="小花">小花</option>
<option value="小草">小草</option>
<option value="小鱼">小鱼</option>
</select>
</td>
<td>{{multiple_select}}</td>
</tr>
<tr>
<td>修改默认值的单个复选框举例</td>
<td><input type="checkbox" true-value="yes" false-value="no" v-model="toggle" >
</td>
<td>{{toggle}}</td>
</tr>
</tbody>
</table>
</div>
</body>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.1.8/vue.min.js">
</script>
<script >
/* Model层 */
var exampleData ={
message: '',
checked:[],
radio:'',
select:'',
multiple_select:[],
toggle:''
}
/* ViewModel层,链接view和model层
vue实例须要传入一个选项对象
   选项对象包括挂载对象,数据,方法,模生命周期钩子(?)
el属性指向view,表示把vue实例绑定某个dom元素
*/
new Vue({
el:'#app',
data:exampleData
})
</script>
</html>
复制代码
效果示例:
单个复选框举例,单行文本和多行文件框相似。 {{message}} 多个复选框举例 {{checked}} 单选按钮举例 {{radio}} 单选选择框举例 {{select}} 多选选择框举例 经过Ctrl或shift进行多选 {{multiple_select}} 修改默认值的单个复选框举例 {{toggle}}