@@ -173,35 +173,95 @@ var vm = new Vue({
173173```
174174
175175## 指令
176- 指令(Directive),换句话说就是元素的自定义属性,在 Vue 中是以 v- 为前缀的自定义属性
176+ 指令(Directive),换句话说就是元素的自定义属性,在 Vue 中是以 v- 为前缀的自定义属性,属性值为对象或 js 表达式
177177
178178<table >
179179 <thead >
180180 <tr>
181- <th>指令</th>
182- <th>类型</th>
183- <th>用法</th>
181+ <th>指令</th><th>类型</th><th>用法</th><th>说明</th>
184182 </tr>
185183 </thead >
186184 <tbody >
187- <tr>
188- <td>v-text</td>
189- <td>string</td>
190- <td>
185+ <tr><td>v-text</td><td>string</td><td><!--v-text-->
191186
192- ``` html
193- <span v-text="msg"></span>
194- ```
195- 效果等同于
196- ``` html
197- <span>{{msg}}</span>
198- ```
199-
200- </td>
201- </tr>
202- </tbody >
203- </table >
187+ ``` html
188+ <span v-text =" msg" ></span >
189+ <!-- 效果等同于-->
190+ <span >{{msg}}</span >
191+ ```
192+
193+ </td ><td >v-text 的权重高于 {{}}</td ></tr >
194+ <tr><td>v-html</td><td>string</td><td><!--v-html-->
195+
196+ ``` html
197+ <div v-html =" html" ></div >
198+ ```
199+
200+ </td ><td >内容按普通 HTML 插入,不会作为 Vue 模板进行编译</td ></tr >
201+ <tr><td>v-show</td><td>boolean</td><td><!--v-show-->
202+
203+ ``` html
204+ <div v-show =" show" ></div >
205+ ```
206+
207+ </td ><td >show 的值会直接影响 div 在文档中<b >是否显示</b ></td ></tr >
208+ <tr><td>v-if</td><td>boolean</td><td><!--v-if-->
209+
210+ ``` html
211+ <div v-if =" status" ></div >
212+ ```
213+
214+ </td ><td >status 的值会直接影响 div 在文档中<b >是否存在</b ></td ></tr >
215+ <tr><td>v-else-if</td><td>boolean</td><td><!--v-else-if-->
216+
217+ ``` html
218+ <div v-if =" flag == 1" >1</div >
219+ <div v-else-if =" flag == 2" >2</div >
220+ ```
221+
222+ </td ><td >必须跟 v-if 或者 v-else-if 元素后面,</td ></tr >
223+ <tr><td>v-else</td><td>不属性表达式</td><td><!--v-else-->
224+
225+ ``` html
226+ <div v-if =" flag == 1" >1</div >
227+ <div v-else-if =" flag == 2" >2</div >
228+ <div v-else >2</div >
229+ ```
230+
231+ </td ><td >v-else 不需要表达式(属性值),必须跟 v-if 或者 v-else-if 元素后面,</td ></tr >
232+ <tr><td>v-for</td><td>Array | Object | Number | String</td><td><!--v-for-->
233+
234+ ``` html
235+ <!-- data = 3 结果会生成 [data] 个 div,value 的值分类为 1, 2, 3 index(下标) 的值分别为 0, 1, 2-->
236+ <div v-for =" (value, index) in data" ><span v-text =" value" ></span ><span >{{index}}</span ></div >
237+ <!-- 也可以这样写-->
238+ <div v-for =" value in data" ><span v-text =" value" ></span ></div >
239+
240+ <!-- data = "abc" 结果会生成 data.length 个 div,value 的值分类为 a, b, c index(下标) 的值分别为 0, 1, 2-->
241+ <div v-for =" (value, index) in data" ><span v-text =" value" ></span ><span >{{index}}</span ></div >
242+ <!-- 也可以这样写-->
243+ <div v-for =" value in data" ><span v-text =" value" ></span ></div >
204244
205- | 指令 | 类型 | 用法 | 效果 |
206- | ------| -----| ------| ------|
207- | v-text | string | ` <span v-text="msg"></span> ` <br />效果等同于<br />` <span>{{msg}}</span> `
245+ <!-- data = {name: 'dk', age: 18} 结果会生成 data 属性个数 个 div,value 的值分类为 dk, 18 key 的值分别为 name, age-->
246+ <div v-for =" (value, key) in data" ><span v-text =" key" ></span ><span >{{value}}</span ></div >
247+ <!-- 也可以这样写-->
248+ <div v-for =" value in data" ><span v-text =" value" ></span ></div >
249+
250+ <!-- data = [{name: 'dk1', age: 18}, {name: 'dk2', age: 20}] 结果会生成 data.length 个 div,obj 的值分类为 data[0], data[1] index 的值分别为0, 1-->
251+ <div v-for =" (obj, index) in data" ><span v-text =" key" ></span ><span >{{value}}</span ></div >
252+ <!-- 也可以这样写-->
253+ <div v-for =" obj in data" ><span v-text =" value" ></span ></div >
254+ ```
255+
256+ </td ><td >v-for 等同于循环生成元素,(arg1, arg2) in data,arg1 指 data 的值,arg2 指的是下标(在 data 为对象时则为 key),如果单写 arg1 in data,则 arg1 一般指前者</td ></tr >
257+ <tr><td>v-on</td><td>不属性表达式</td><td><!--v-on-->
258+
259+ ``` html
260+ <div v-if =" flag == 1" >1</div >
261+ <div v-else-if =" flag == 2" >2</div >
262+ <div v-else >2</div >
263+ ```
264+
265+ </td ><td >v-else 不需要表达式(属性值),必须跟 v-if 或者 v-else-if 元素后面,</td ></tr >
266+ </tbody >
267+ </table >
0 commit comments