在公司实习的时候,我需要学习vue进行前端渲染。在官网进行学习后,自己的第一个例子的时候就失败了。让我们来看看我傻乎乎的做法吧。
从官网复制下来的代码:
<div id="app"> {{ message }} </div> <script> var app = new Vue({ el: '#app', data: { message: 'Hello Vue!' } }) </script>但是!!!但是!!!使用node.js的小朋友们注意啦,特别是Handlebars模板的哟!因为我们知道Handlebars渲染是{{}}的,与vue的{{}}冲突啦,所以官网的例子直接复制下来是失败的哟。。。所以我们一般的Handlebars模板中vue使用的是${}就可以啦,当然要设置一下呢。
成功替换代码:
<div id="app"> ${ message } </div> <script> new Vue({ el: '#app', delimiters: ['${', '}'], data: { message: 'Hello Vue!' } }) </script>上面就是最简单的一个Vue前端渲染的例子呢。当然Vue还有很多很多强大的功能。
条件判断If <div id="app"> <p v-if="seen">This is P.</p> </div> <script> new Vue({ el: '#app', data: { seen: true } }) </script> for 循环 <div id="app"> <ol> <li v-for="item in items"> ${ item.message } </li> </ol> </div> <script> new Vue({ el: '#app', delimiters: ['${', '}'], data: { items: [ { message: 'Yes,' }, { message: "I'm handsome boy " }, { message: 'nice' } ] } }) </script>这是不是很像c++11里面的容器遍历呢,哈哈哈哈的确很像哟。
事件监听 <div id="app-5"> <p>${ message }</p> <button v-on:click="reverseMessage">反转</button> </div> <script> new Vue({ el: '#app-5', delimiters:['${','}'], data: { message: 'Hello Girl!' }, methods: { reverseMessage: function () { this.message = this.message.split('').reverse().join('') } } }) </script> 双向绑定 <div id="app-6"> <p>${ message }</p> <input v-model="message"> </div> <script> new Vue({ el: '#app-6', delimiters: ['${', '}'], data: { message: 'Hello Boy!' } }) </script>其实Vue入门还是很简单的呢,但是一些高级用法等着我去挑战,nice~