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+".");}}// 实例化vuevar app = new Vue({// 挂载实例el:'#app',// 页面数据初始化,字符,对象、数组data:{count: 100},// 混入mixins: [addLog]})
extends
继承: 对构造器进行扩展
// 扩展var extendObj ={created: function(){console.log("我是被扩展出来的");}}// 实例化vuevar app = new Vue({// 挂载实例el:'#app',// 页面数据初始化,字符,对象、数组data:{},// 扩展extends: extendObj})
