前言:
👏作者簡介:我是笑霸final,一名熱愛技術的在校學生。
📝個人首頁:笑霸final的首頁 📕系列專欄:前端 📧如果文章知識點有錯誤的地方,請指正!和大家一起學習,一起進步👀
🔥如果感覺部落客的文章還不錯的話,👍點贊👍 + 👀關注👀 + 🤏收藏🤏
後端天天學Vue【一基本結構】
- 零 準備工作
- 一 模闆文法
- 二 資料綁定
- 三 el和data的其他寫法
- 四 Vue(一)總結
零 準備工作
先去官網下載下傳Vue:官網位址
然後引入Vue
<script type="text/javascript" src="../vue.js"></script>
然後開始寫代碼 ,需要先建立一個容易 讓它綁定Vue
然後再 script标簽下就可以寫Vue代碼了
1.想讓Vue工作,就必須建立一個Vue執行個體,且要傳入一個配置對象;
2.root容器裡的代碼依然符合html規範,隻不過混入了一些特殊的Vue文法;
3.root容器裡的代碼被稱為【Vue模闆】;
4.Vue執行個體和容器是一一對應的;
5.真實開發中隻有一個Vue執行個體,并且會配合着元件一起使用;
6.{{xxx}}中的xxx要寫js表達式,且xxx可以自動讀取到data中的所有屬性;
7.一旦data中的資料發生改變,那麼頁面中用到該資料的地方也會自動更新;
注意區分:js表達式 和 js代碼(語句)
1.表達式:一個表達式會産生一個值,可以放在任何一個需要值的地方:
(1). a
(2). a+b
(3). demo(1)
(4). x === y ? 'a' : 'b'
2.js代碼(語句)
(1). if(){}
(2). for(){}
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI0gTMx81dsQWZ4lmZf1GLlpXazVmcvwFciV2dsQXYtJ3bm9CX9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5SNwAjMzkjNyIWZiVWO4I2YyYzXzQDNyATMxEzLcdDMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>初識Vue</title>
<!-- 引入Vue -->
<script type="text/javascript" src="../vue.js"></script>
</head>
<body>
<!-- 準備好一個容器 -->
<div class="root">
<h1>Hello,姓名:{{name}},位址:{{address}},年齡:{{age}}</h1>
</div>
<script type="text/javascript" >.config.productionTip = false //阻止 vue 在啟動時生成生産提示。
new Vue({
el:'.root', //el用于指定目前Vue執行個體為哪個容器服務,值通常為css選擇器字元串。
data:{ //data中用于存儲資料,資料供el所指定的容器去使用,值我們暫時先寫成一個對象。
name:'笑霸final',
address:'成都',
age: 18
}
})</script>
</body>
</html>
可以複制上面代碼 運作一下試一試效果
一 模闆文法
這裡我們學習兩種模闆文法
1.插值文法(雙大括号表達式) 2. 指令文法(以 v-開頭)
插值文法 1. 功能: 用于解析标簽體内容 2. 文法: {{xxx}} ,xxxx 會作為 js 表達式解析![]()
後端天天學Vue【一基本結構】
<h1>插值文法</h1>
<h3>你好,{{name}}</h3>
指令文法 :v-bind:href=“xxx” 簡寫為 :href=“xxx”功能:用于解析标簽(包括:标簽屬性、标簽體内容、綁定事件…)。舉例:v-bind:href=“xxx” 或 ,xxx同樣要寫js表達式,且可以直接讀取到data中的所有屬性。備注:Vue中有很多的指令,且形式都是:v-???,此處我們隻是拿v-bind舉個例子。![]()
後端天天學Vue【一基本結構】
<a v-bind:href="Blog.url">我去{{Blog.name}}</a>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script type="text/javascript" src="../vue.js"></script>
</head>
<body>
<!-- 準備一個容器 -->
<div id="root">
<h1>插值文法</h1>
<h3>你好,{{name}}</h3>
<hr/>
<h1>指令文法</h1>
<a v-bind:href="Blog.url">我去{{Blog.name}}</a>
<!-- v-band:可以簡寫成===》 : -->
<a :href="Blog.url">我去{{Blog.name}}</a>
</div>
<script type="text/javascript" >.config.productionTip = false //阻止 vue 在啟動時生成生産提示。
new Vue({//Vue注意V要大寫
el:'#root',
data:{
name: "笑霸fianl",
Blog:{
name:'csdn',
url:'https://blog.***.net/weixin_52062043?spm=1000.2115.3001.5343',
}
}
})</script>
</body>
</html>
插值文法 :用于标簽體
指令文法 :用于解析标簽
二 資料綁定
上面我已經學過
v-bind
了 這其實式一種單項資料綁定
單項資料綁定特點:
那我們就直接看雙向綁定
資料隻能從 data 流向頁面
v-model
:
雙向資料綁定特點:資料不僅能從 data 流向頁面,還能從頁面流向 data
由于v-model預設收集的就是value值可以簡寫為 v-model![]()
後端天天學Vue【一基本結構】 == 注意== ![]()
後端天天學Vue【一基本結構】
v-model:隻能用在表單 類元素上(如:input、select等)
複制下面代碼看看效果
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script type="text/javascript" src="../vue.js"></script>
<title>Document</title>
</head>
<body>
<!-- 準備一個容器 -->
<div id="root">
單項資料綁定:<input type="text" :value="name"><br/> -->
雙向資料綁定:<input type="text" v-model:value="name"><br/>
雙向資料綁定(簡寫):<input type="text" v-model="name"><br/>
</div>
<script type="text/javascript">.config.productionTip=false;
new Vue({
el:'#root',
data:{
name: '笑霸fianl'
}
})</script>
</body>
</html>
三 el和data的其他寫法
1.el有2種寫法
(1).new Vue時候配置el屬性。
(2).先建立Vue執行個體,随後再通過vm.$mount(‘#root’)指定el的值。
2.data有2種寫法
(1).對象式
(2).函數式
如何選擇:目前哪種寫法都可以,以後學習到元件時,data必須使用函數式,否則會報錯。
3.一個重要的原則:
由Vue管理的函數,一定不要寫箭頭函數,一旦寫了箭頭函數,this就不再是Vue執行個體了。
由于我們已經使用了一種 我們就直接開始另一種寫法
$mount('#root')替代 el:'#root', 更加靈活
(2).![]()
後端天天學Vue【一基本結構】
data函數式寫法
![]()
後端天天學Vue【一基本結構】
當然也能簡寫
data第二種寫法 寫元件就必須寫函數式 、 代碼預覽![]()
後端天天學Vue【一基本結構】
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script type="text/javascript" src="../vue.js"></script>
<title>Document</title>
</head>
<body>
<!-- 準備一個容器 -->
<div id="root">
<h1>你好,{{name}}</h1>
</div>
<script type="text/javascript">.config.productionTip=false;
var v=new Vue({
//el:'#root',
// data:{
// name:'笑霸fianl'
// }
//data第二種寫法 寫元件就必須寫函數式
// data:function(){
// return{
// name:'笑霸fianl'
// }
// }
// })
// //替代 el:'#root', 更加靈活
// v.$mount('#root')
//還能簡寫
data(){
return{
name:'笑霸fianl'
}
}
})
//替代 el:'#root', 更加靈活
v.$mount('#root')</script>
</body>
</html>
四 Vue(一)總結
Vue模闆文法有2大類:
1.插值文法:
功能:用于解析标簽體内容。
寫法:{{xxx}},xxx是js表達式,且可以直接讀取到data中的所有屬性。
2.指令文法:
功能:用于解析标簽(包括:标簽屬性、标簽體内容、綁定事件…)。
舉例:v-bind:href=“xxx” 或 簡寫為 :href=“xxx”,xxx同樣要寫js表達式,
且可以直接讀取到data中的所有屬性。
備注:Vue中有很多的指令,且形式都是:v-???,此處我們隻是拿v-bind舉個例子。