如何利用Vue.js库中的v-if内部指令判断元素显示

JavaScript036

如何利用Vue.js库中的v-if内部指令判断元素显示,第1张

第一步,创建静态页面vtext.html,修改title显示的内容并引入vue.js,

第二步,在body标签元素内插入两个span元素,在第一个span绑定v-text指令,第二个span中插入{{message}},

第三步,编写JS代码,绑定数据源message,

第四步,预览静态页面vtext.html,发现{{message}}还是一样,未变成赋的值,

第五步,在两个span外层添加一个div,并将第一个span的id赋给div,再在第一个span标签上绑定v-model,

第六步,再次预览发现页面中的{{message}}变为绑定的数据源,

有6个。

v-if 条件渲染指令,根据其后表达式的bool值进行判断是否渲染该元素;所以,v-if指令只渲染他身后表达式为true的元素;在这里引入v-show指令,因为二者的区别是v-show指令会渲染他身后表达式为false的元素,这样的元素上会添加css代码:style="display:none"将上面v-if的实例代码改为v-show

v-show 与v-if类似,只是会渲染其身后表达式为false的元素,而且会给这样的元素添加css代码:style="display:none"

v-else 必须跟在v-if/v-show指令之后,不然不起作用;如果v-if/v-show指令的表达式为true,则else元素不显示;如果v-if/v-show指令的表达式为false,则else元素显示在页面上;

v-for  类似JS的遍历,用法为 v-for="item in items", items是数组,item为数组中的数组元素。

v-bind  这个指令用于响应地更新 HTML 特性,比如绑定某个class元素或元素的style样式。

v-on  用于监听指定元素的DOM事件,比如点击事件。

直接上代码比如

<li v-for ="i in custom">

</li>

上面是循环一个数组然后生成li,但是我想 实现 如果 index是0 就给 li 加个 class,大于0 就不加class怎么做? 比如

<li v-for ="i in custom" v-if="{{$index === 0}}" class="hehe">

</li>