Vue.js 使用笔记

v-bind:class="{'class1': class1}"
v-on:click="showAlert"
v-bind:href="url"

数据双向绑定 :
<p>{{ message }}</p>
<input v-model="message">

数据过滤器 :
{{ message | filterA | filterB('xx',message)}}

filters: {
capitalize: function (x) {
do?
return x?
}
}

缩写 :
v-bind 缩写

<a v-bind:href="url"></a>

<a :href="url"></a>
v-on 缩写

<a v-on:click="doSomething"></a>

<a @click="doSomething"></a>

if -else -- if :
<div id="app">
<div v-if="type === 'A'">
A
</div>
<div v-else-if="type === 'B'">
B
</div>
<div v-else>
Not A/B/C
</div>
</div>
我们也可以使用 v-show 指令来根据条件展示元素:

v-for :
<li v-for="site in sites">
{{ site.name }}
</li>
<li v-for="(value, key, index) in object">
{{ index }}. {{ key }} : {{ value }}
</li>

computed vs methods
computed 性能会更好,但是如果你不希望缓存,你可以使用 methods 属性。
<p>计算后反转字符串: {{ reversedMessage }}</p>
<p>使用方法后反转字符串: {{ reversedMessage2() }}</p>
computed: {
// 计算属性的 getter
reversedMessage: function () {
return this.message.split('').reverse().join('')
}
},
methods: {
reversedMessage2: function () {
return this.message.split('').reverse().join('')
}

watch : 用于监听数据变化时间
v-model = "kilometers"
watch : {
kilometers:function(val) {
this.kilometers = val;
this.meters = val * 1000;
}
}

事件管理 : JQ的事件模式
<button v-on:mouseover.once="say('hi')">Say hi</button>

表单问题:

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容