computed
计算属性:对元数据进行改造输出。
应用: 格式化数据(价格,日期),大小写转换,排序,添加符号
computed: {
newPrice () {
return '¥' + this.price + '元';
}
}
filters
过滤器:通常格式化字符,使用传值
filters: {
filterA(value) {
return value.toUpperCase();
}
}
methods
方法属性: 绑定 html 事件对应的方法
如果方法中有参数,没有写括号,那么默认传进去原生 event 对象
<!-html->
最终结果: {{count}}
<button @click='add(1)'>点我每次加 1 </button>
<button @click='add(10)'>点我每次加 10 </button>
加几是自己传进去的
<-Vue实例->
<script>
data:{
count: 0
},
methods:{
add (num) {
this.count += num;
}
}
watch
监听属性: 就是数据变化的监听器
用于检测 data 中的数据变化,通知 v-model 生效
watch: {
question(val, oldVal) {
console.log('new: %s, old: %s', val, oldVal);
}
}
mixins
混入:用于减少代码污染、减少代码量、实现代码重用
// 额外临时加入时,用于显示日志
var addLog={
updated:function(){
console.log("数据放生变化,变化成"+this.count+".");
}
}
// 实例化vue
var app = new Vue({
// 挂载实例
el:'#app',
// 页面数据初始化,字符,对象、数组
data:{
count: 100
},
// 混入
mixins: [addLog]
})
extends
继承: 对构造器进行扩展
// 扩展
var extendObj ={
created: function(){
console.log("我是被扩展出来的");
}
}
// 实例化vue
var app = new Vue({
// 挂载实例
el:'#app',
// 页面数据初始化,字符,对象、数组
data:{
},
// 扩展
extends: extendObj
})