您好,欢迎访问一九零五行业门户网

vue.js常用指令总结归纳

这次给大家带来vue.js常用指令总结归纳,vue.js常用指令使用的注意事项有哪些,下面就是实战案例,一起来看一下。
vue.js是当下很火的一个javascript mvvm(model-view-viewmodel)库,它是以数据驱动和组件化的思想构建的。相比于angular.js,vue.js提供了更加简洁、更易于理解的api,使得我们能够快速地上手并使用vue.js。
如果你之前已经习惯了用jquery操作dom,学习vue.js时请先抛开手动操作dom的思维,因为vue.js是数据驱动的,你无需手动操作dom。它通过一些特殊的html语法,将dom和数据绑定起来。一旦你创建了绑定,dom将和数据保持同步,每当变更了数据,dom也会相应地更新。
当然了,在使用vue.js时,你也可以结合其他库一起使用,比如jquery。
1.使用
使用vue的过程就是定义mvvm(model-view-viewmodel)各个组成部分的过程的过程。
<!--这里定义view--> <p id="app">{{ message }}</p> <script src="js/vue.js"></script> <script>     // 这里定义model     var exampledata = {       message: 'hello world!'     }     // 这里创建一个 vue 实例或 viewmodel     // 连接 view 与 model     new vue({       el: '#app',       data: exampledata     }) </script>
2.vue.js的常用指令
vue.js提供了一些常用的内置指令,接下来我们将介绍以下几个内置指令:
•v-if指令
•v-show指令
•v-else指令
•v-for指令
•v-bind指令
•v-on指令
vue.js具有良好的扩展性,我们也可以开发一些自定义的指令,后面的文章会介绍自定义指令。
2.1 v-if指令
v-if后面赋予 可以转化为布尔类型的表达式
<p id="app">       <h1>hello, vue.js!</h1>       <h1 v-if="yes">yes!</h1>       <h1 v-if="no">no!</h1>       <h1 v-if="age >= 25>age: {{ age }}</h1>       <h1 v-if="name.indexof('jack') >= 0>name: {{ name }}</h1> </p>  <script src="js/vue.js"></script>  <script>     var vm = new vue({       el: '#app',       data: {         yes: true,         no: false,         age: 28,         name: 'keepfool'       }     })  </script>
这里最后就输出
<p id="app">   <h1>hello, vue.js!</h1>   <h1>yes!</h1>   <!---->   <h1>age: 28</h1>   <!----> </p>
2.2 v-show
<p id="app">       <h1>hello, vue.js!</h1>       <h1 v-show="yes">yes!</h1>       <h1 v-show="no">no!</h1>       <h1 v-show="age >= 25>age: {{ age }}</h1>       <h1 v-show="name.indexof('jack') >= 0>name: {{ name }}</h1>     </p>   </body>   <script src="js/vue.js"></script>   <script>     var vm = new vue({       el: '#app',       data: {         yes: true,         no: false,         age: 28,         name: 'keepfool'       }     })   </script>
这里代码只是v-if改为v-show
输出为
<p id="app"> <h1>hello, vue.js!</h1> <h1>yes!</h1> <h1 style="display: none;">no!</h1> <h1>age: 28</h1> <h1 style="display: none;">name: keepfool</h1> </p>
这里区别是上面v-if直接不输出html代码,这里用display:none隐藏
2.3 v-else指令
<h1 v-if="age >= 25>age: {{ age }}</h1> <h1 v-else>name: {{ name }}</h1> <script src="js/vue.js"></script>   <script>     var vm = new vue({       el: '#app',       data: {         age: 28,         name: 'keepfool',         sex: 'male'       }     }) </script>
前一兄弟元素必须有 v-if 或 v-else-if,新版的vue.js新增了v-else-if用法也跟v-if一样,不过前一兄弟元素必须有v-if或v-else-if,旧版的v-else前面可以跟v-show,但新版v-else前面不能是v-show了。
2.4 v-for指令
<p v-for="p in people">    <h1>age: {{ p.age }}</h1>    <h1>name: {{ p.name }}</h1>    <h1>sex: {{ p.sex }}</h1> </p> <script charset="utf-8" src="js/vue.js"></script> <script type="text/javascript">    var mymodel = {     people:[       {         age: 25,         name: 'keepfool',         sex: 'male'       },       {         age: 26,         name: 'keepfool2',         sex: 'female'       },       {         age: 27,         name: 'keepfool3',         sex: 'male2'       }     ]   };  var vm = new vue({   el: '#app',   data: mymodel }) </script>
父元素用v-for,子元素可以遍历绑定的对应array | object | number | string
v-for还可以这样用:
<p v-for="(item, index) in items"></p> <p v-for="(val, key) in object"></p> <p v-for="(val, key, index) in object"></p>
2.5 v-bind指令
v-bind指令可以在其名称后面带一个参数,中间放一个冒号隔开,这个参数通常是html元素的特性(attribute)
<p id="app">    <ul class="pagination">      <li v-for="n in pagecount">        <a href="javascripit:void(0)" rel="external nofollow" v-bind:class="activenumber === n ? 'active' : ''">{{ n }}</a>      </li>    </ul> </p>  <script src="js/vue.js"></script>   <script>     var vm = new vue({       el: '#app',       data: {         activenumber: 1,         pagecount: 10       }     })   </script>
又例如:
<img v-bind:src="'/path/to/images/' + filename"> <p v-bind="{ 'id': someprop, 'other-attr': otherprop }"></p>
2.6 v-on指令
<p id="app">       <p><input type="text" v-model="message"></p>       <p>         <!--click事件直接绑定一个方法-->         <button v-on:click="greet">greet</button>       </p>       <p>         <!--click事件使用内联语句-->         <button v-on:click="say('hi')">hi</button>       </p> </p>  <script src="js/vue.js"></script>   <script>     var vm = new vue({       el: '#app',       data: {         message: 'hello, vue.js!'       },       // 在 `methods` 对象中定义方法       methods: {         greet: function() {           // // 方法内 `this` 指向 vm           alert(this.message)         },         say: function(msg) {           alert(msg)         }       }     })   </script>
2.7 v-model指令
v-model在表单控件元素上创建双向数据绑定
<input v-model="message" placeholder="edit me"> <p>message is: {{ message }}</p>
相信看了本文案例你已经掌握了方法,更多精彩请关注其它相关文章!
推荐阅读:
以上就是vue.js常用指令总结归纳的详细内容。
其它类似信息

推荐信息