vue中的细节(长期更新)

(一)条件渲染:v-if 与 v-show:
         两者均用于条件渲染,都可以与”v-else”搭配使用。区别在于使用” v-if “时,如果条件不满足,被” v-if “包裹的元素不会进行初始化,即DOM结构中没有插入该标签包裹的部分;而使用” v-show “条件不满足时,DOM结构中也会插入对应的内容,并通过设置属性”display:none”实现元素隐藏。
         所以,如果改变了数据使得条件满足需要显示时,” v-if “包含的内容会有“局部编译与卸载”的过程,即” v-if “的渲染是“惰性”的;而使用”v-show”的部分在实例初始化时即使是隐藏的元素也已经被编译装载,只是简单的修改”display”属性实现切换。
         因此,在”v-show”较”v-if”而言有更高的效率,但也需要根据适当的场景进行选择。


(二)列表渲染:v-for
       1、无法触发视图更新的行为:
             - 直接通过索引修改数组中的元素;
             - 直接修改数组的长度;
      2、在列表循环中,如果数组中有唯一的标识,我们可以使用”track-by”属性为数组设定唯一标识,这样在循环渲染的过程中会尽可能的重用原有对象的作用域和DOM元素,提高性能;在vue2.0中即key属性。如下:

<li v-for"item in items" :key="item.id">{item.name}</li>
items : [
            {'id': 1,'name': a},
            {'id': 2,'name': b}
        ]

猜你喜欢

转载自blog.csdn.net/qq_29468573/article/details/82669958