前言
Vue.js是一个数据驱动的web界面库。Vue.js只聚焦于视图层,可以很容易的和其他库整合。代码压缩后只有24kb。
以下代码是Vue.js最简单的例子, 当 input 中的内容变化时,p 节点的内容会跟着变化。
<!-- html --><div id="demo"> <p>{{message}}</p> <input v-model="message"></div>new Vue({ el: '#demo', data: { message: 'Hello Vue.js!' }})
vue.js的基础语法
插入文本
<span>Message: {{ text }}</span>
插入html格式的文本,在页面显示为html的格式
<span>Message: {{{ html }}}</span>
内容不跟随data的变化
<span>Message: {{ * text }}</span>
属性上绑定数据
<div id="item-{{ id }}"></div>
在{{}}中使用js表达式
{{ number + 1 }}{{ ok ? 'YES' : 'NO' }}{{ message.split('').reverse().join('') }}
在{{}}中使用js语句
{{ var a = 1 }}{{ if (ok) { return message } }}
if指令
<p v-if="greeting">Hello!</p>这里 v-if指令将根据表达式 greeting值的真假删除/插入 <p>元素。
href指令
<a v-bind:href="url"></a>或者<a href="{{url}}"></a>
click指令
<a v-on:click="doSomething">
回车指令
<input v-model="newTodo" v-on:keyup.enter="addTodo">
缩略写法
v-bind
<!-- 完整语法 --><a v-bind:href="url"></a><!-- 缩写 --><a :href="url"></a><!-- 完整语法 --><button v-bind:disabled="someDynamicCondition">Button</button><!-- 缩写 --><button :disabled="someDynamicCondition">Button</button>
v-on
<!-- 完整语法 --><a v-on:click="doSomething"></a><!-- 缩写 --><a @click="doSomething"></a>
总结
模板中表达式非常便利,但是它们实际上只用于简单的操作。模板是为了描述视图的结构。在模板中放入太多的逻辑会让模板过重且难以维护。这就是为什么 Vue.js 将绑定表达式限制为一个表达式。如果需要多于一个表达式的逻辑,应当使用计算属性。小编会在后面给更新如何使用计算属性。感兴趣的朋友们请继续关注武林网。
新闻热点
疑难解答