引入方式
你也可以创建一个 .html
文件,然后通过如下方式引入 Vue
第一章 Hello Vue
第二章 v-bind指令
文本
{{message}} 插入文本
<span v-once>这个将不会改变: {{ msg }}</span> 一次性插值,之后不更新
特性
条件
循环(优先级高于v-if)
事件
表单
Class和Style绑定
<div class="static" v-bind:class="{ active: isActive, 'text-danger': hasError }" ></div> // 当isActive为true时,class有两个:static和active
<div v-bind:style="{ color: activeColor, fontSize: fontSize + 'px' }"></div> // 绑定样式
data: { activeColor: 'red', fontSize: 30 }
组件模板 Props使用
<ol><todo-itemv-for='item in groceryList'v-bind:todo='item'v-bind:key='item.id'></todo-item></ol>
JS代码
Vue.component('todo-item', {
props: ['todo'],
template: '<li>{{todo.text}}</li>'
})
var app7= new Vue({el: '#app-7',data: {groceryList: [{ id: 0, text: '蔬菜' },{ id: 1, text: '奶酪' },{ id: 2, text: '随便其它什么人吃的东西' }]}})
<head-top signin-up='home'><span slot='logo' class="head_logo" @click="reload">ele.me</span></head-top><template> // 由子元素替换插槽<slot name='logo'></slot></template>
状态属性 Data
vue虽然没有完全遵循 MVVM 模型,但是 Vue 的设计也受到了它的启发。因此在文档中经常会使用 vm
(ViewModel 的缩写) 这个变量名表示 Vue 实例
var vm = new Vue({ // 选项 })
Vue的data属性
var data = { a: 1 }
var vm = new Vue({ data: data })
此时data.a和vm.a被动加入到 Vue 的响应式系统中。当这些属性的值发生改变时,视图将会产生“响应”,即匹配更新为新的值。
值得注意的是只有当实例被创建时 data
中存在的属性才是响应式的。
除了数据属性,Vue 实例还暴露了一些有用的实例属性与方法。它们都有前缀 $
,以便与用户定义的属性区分开来。例如:
var data = { a: 1 }
var vm = new Vue({ el: '#example', data: data })
vm.$data === data // => true
vm.$el === document.getElementById('example') // => true
方法 methods
getData() {return [{value: 11, text: '重量比对协同'}, {value: 12, text: '资质对比协同'}, {value: 13, text: '轨迹协同'}]},
过滤器 filters
一般做只处理HTML页面的数据的事,更偏向于对文本数据的转化,而不能依赖this上下文,如果需要使用到上下文this我们应该使用computed计算属性的或者一个method方法。
用法一 在双花括号中
{{ message | formatterEnumType}}
用法二 在 `v-bind` 中
<div v-bind:id="rawId | formatId"></div>
filters:{// 过滤工单类型formatterEnumType(value){let label = '';that.ticket.templateTypeList.forEach(item => {if(item.value==value){label = item.label}})return label;},}
计算属性 computed
一般做只处理data中的数据的事
computed: { reversedMessage: function () { // `this` 指向 vm 实例
return this.message.split('').reverse().join('')
} }
子组件 components
components:{ticketDetail,ticketLog},
生命周期函数(使用this指向vm实例)
created:实例创建之后执行代码 beforeCreate 创建之前执行
mounted:实例挂载之后调用 beforeMount 挂载之前调用
updated:更新之后调用 beforeUpdate 更新之前调用
destroyed:销毁之后调用 beforeDestroyed 销毁之前调用