作为一个前端技术栈小白,上手vue时感觉不太适应的就是数据绑定方面。vue的机制可以使我们减少对DOM的操作。举个例子,比如存在一个下拉列表,通常情况下我们使用如下方式实现。
<select>
<option></option>
</select>
但是,对于下拉选项中如果有动态更改需求是,我们不得不在HTML中找到对应的标签,进行增减<option>的操作,这样的方式对后期维护造成一定的负担。在使用vue的方式时,我们或许更倾向于如下的实现
<select>
<option v-for="option in option"></option>
</select>
在这种方式中,我们只需要维护data中的option数组就可以实现对select的维护。同样的方法也可以应用在一些特定实例情况下,比如存在一个button,onclick触发增加对应dom中存在的一些元素,如果我们使用jq的话,可能利用如下方式
<script>
var dom = "HTML代码段"
$("#domid").append(dom);
</script>
在使用vue中,我们需要思考的只是对数据的操作,视图的刷新留个vue的机制去渲染,因此可以考虑如下方式
let vm = new Vue({
el:"#app",
data:{
option:[],
dom:[],
},
methods:{
addDOM(){
dom.push();
}
}
});
这就相当与将相应的组合封装成一个对象,进而维护这个dom的数组即可。以后可能要日更学习博客,在实习期争取从vue写到MyBaits,不定期穿插一些数据结构,就像在今天遇到的两层增加嵌套,不得不使用[[]]。