Skip to content

Commit dbd87fb

Browse files
committed
modify by dk
1 parent e2f10e8 commit dbd87fb

File tree

1 file changed

+83
-23
lines changed

1 file changed

+83
-23
lines changed

README.md

Lines changed: 83 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)