引用Vue
<script src="https://unpkg.com/vue"></script>
|
或者通过其他CDN引用,比如http://www.bootcdn.cn/
。
插入文本
{{ message }}
<span v-text='message'/>
<div v-html='message'/>
双向绑定v-model
使用v-model
可以实现表单输入和应用状态之间的双向绑定。一般是在input
,textarea
,select
标签下使用。
<input type='text' v-model='message'> <span>Your message is : {{ message }}</span>
<script async src="//jsfiddle.net/keer2345/tpkon0es/1/embed/result,html,js,css/light/"></script>
## 循环`v-for` ```html <ul> <li v-for='list in lists'>{{ list }}</li> </ul>
|
更多的v-model
特性
v-model.lazy
惰性更新状态
v-model.term
将前后空格去掉。
更多的v-model
使用
属性绑定v-bind
<div id='app'> <a v-bind:class='{active: isActive}' v-bind:href='url'> Home </a> <img v-bind:src='img'/> </div>
|
v-bind
可以忽略,用冒号:
代替,比如<a :href='url'>Home</a>
。
v-on
v-on
可以简写成@
,比如<button @click='onClick'>Click Me</button>
。
控制流指令v-if
<div v-if="role='admin' || role=='super_admin'"> I am a Administrator. </div> <div v-else-if="role=='hr'"> ... </div> <div v-else> ... </div>
|
计算属性computed
比如计算各科成绩的总分以及平均分:
Math: <input type='text' v-model.number='math'> English: <input type='text' v-model.number='english'> Physics: <input type='text' v-model.number='physics'> Sum: {{ sum }}, Average: {{avg}}.
|
var app = new Vue({ el:'#app', data:{ math:90, english:80, physics:70, }, computed:{ sum: function(){ return parseFloat(this.math) + this.english + this.physics; }, avg: function(){ return Math.round(this.sum / 3); }, } })
|
组件component
全局组件与局部组件
组件的传参(父子通信):
组件的传参(子父通信):
任意及平行组件间通信:
过滤器filter