Vue官網地址javascript
例如:京東商城、惟品會php
例如:網易雲音樂 單頁面應用程序的最主要目的是爲了讓你的先後端開發可以分離,用戶體驗反而是其次的html
JQ:jQuery是一個快速、簡潔的JavaScript框架,是繼Prototype以後又一個優秀的JavaScript代碼庫(或JavaScript框架)。
DOM:文檔對象模型(Document Object Model),是W3C組織推薦的處理可擴展標誌語言的標準編程接口。前端
那麼建立了一個ViewModel,雙向綁定是怎麼達到的呢?vue
如圖ViewModel裏有DOM Listeners 和Data Bindings ,可看做是兩個工具。實現雙向綁定的利器。從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}}