1.Vue.js介绍
当前前端三大主流框架:Angular、React、Vue。React前段时间由于许可证风波,使得Vue的热度蹭蹭地上升。另外,Vue友好的API文档更是一大特色。Vue.js是一个非常轻量级的工具,与其说是一个MVVM框架,不如说是一个js库。Vue.js具有响应式编程和组件化的特点。响应式编程,即保持状态和视图的同步,状态也可以说是数据吧;而其组件化的理念与React则一样,即“一切都是组件,组件化思想方便于模块化的开发,是前端领域的一大趋势。
2.内部指令
2-1.v-if v-else v-show:前两者一般配合使用,v-show的效果类似于v-if。
实例如下:
<body> <div id="app"> <p v-if="flag">if</p> <p v-else>else</p> <p v-show="flag">show</p> </div> </body> <script> var vm= new Vue({ el:"#app", data:{ flag:true } }); </script>
DOM结构中,三个p标签中的内容是否显示在页面中取决于flag的布尔值属性。当flag为true时,if和show都会显示,else也不会存在于DOM结构中。v-if和v-show的不同体现在:v-if是根据条件的值判断是否加载,可以减轻服务器的压力,但是缺点是当改变条件的值,页面又要加载一次;v-show则无论条件的值是否为true,都会加载(若条件为true,则display属性设置为其默认属性,反之,设置为none)
2-2.v-for 循环指令
实例如下:
<body> <div id="app"> <ol> <li v-for="b in b">{{b}}</li> </ol> </div> </body> <script> var vm= new Vue({ el:"#app", data:{ b:['a','b','c',1,2] } }); </script>
页面会显示5个li,插值的效果是li会显示与数组b一 一对应的元素,v-for有点类似于for in循环
2-3 v-text v-html 文本(html字符串)指令
<body> <div id="app"> <p v-text="msgText"></p> <p v-html="msgHtml"></p> </div> </body> <script> var vm= new Vue({ el:"#app", data:{ msgText:"China", msgHtml:"<span>中国</span>" } }); </script>
可以联想到jquery的text()、html()。到现在,你会发现前面都是利用插值操作,即{{}},这种做法会在一定程度上影响性能。
2-4 v-on 绑定事件监听器
实例如下:
<body> <div id="app"> <button v-on:click="Hi()">Button</button> </div> </body> <script> var vm= new Vue({ el:"#app", methods:{ Hi:function(){ alert("Hello World!") } } }); </script>
内容版权声明:除非注明,否则皆为本站原创文章。