作用:计算属性,根据现有的值生成一个新的属性值,并用return返回新的属性值。
eg: 计算总价
<div>{{totalPrice}}</div>
<div>{{totalPrice}}</div>
computed: {
totalPrice () {
console.log('computed属性实现计算总价')
return this.price * this.total
}
}
(1)计算属性将被混入到 vue 实例中, 即this 上下文自动地绑定为 Vue 实例,但是计算属性使用了箭头函数,则 this 不会指向这个组件的实例。
(2)计算后的属性不需要在data中定义。
(3)computed属性有依赖缓存,若computed绑定的方法中任意变量改变,该方法才会被重新调用,上例中,页面多次调用totalPrice,但在控制台中只显示一次 'computed属性实现计算总价'。
(4)computed不接受传参,数据都是从data中获取。
场景:需要生成一个新的属性时或者复杂的逻辑计算。
作用:过滤器,相当于把数据进行格式化。比如时间戳格式
eg: 在价格的前面加上人民币¥
<div>{{ price | priceFormat }}</div>
js:
filters: {
priceFormat (val){
return `¥${val}`
}
}
(1)需要传参和返回值
场景:文本格式。
作用: 监听属性,监听data属性中的数据,当数据发生变化时,自动执行函数。
eg: 城市联动
watch: {
curProvs () {
//获取相应城市...
}
}
(1) watch回调函数不可以使用箭头函数,因为箭头函数绑定了父级作用域的上下文,所以this 不是指向 Vue 实例。
(2)监听的属性需要在data中定义。
场景:数据改变时,执行异步操作或开销较大的操作,发请求或者监听路由进行相应操作。
methods中存放的是内部方法、事件的回调。
(1)methods 将被混入到 Vue 实例中。可以直接通过 VM 实例访问这些方法,或者在指令表达式中使用。注意在methods中不要使用箭头函数,因为箭头函数绑定了父级作用域的上下文。
(2)只要发生重新渲染,methods调用总会执行该函数
(3)methods 是函数调用,computed,filters是属性调用。
场景:每次确实需要重新加载,不需要缓存时用methods。
作为程序员你是浮躁还是对代码平常一般的渴望?不妨我们可以来谈一下年总结和希望。目前还单身一枚,哎,说起来是程序眼的伤痛。 只有用代码new一个对象出来了。
webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler)。当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency graph),其中包含应用程序需要的每个模块,然后将所有这些模块打包成一个或多个 bundle
ES6 推荐在函数中使用 let 定义变量,const 用来声明一个常量 (值类似值不能改变,引用类型地址不能改变),let 和 const 只在最近的一个块中(花括号中)有效
Vue的学习成本和难度不高,这除了和框架本身的设计理念有关之外,还和Vue完善的官方文档有着密不可分的关系,相信有很多的开发者和我一样,很长时间没有仔细去看过官方文档了,最近花时间仔细看了一下官方文档
Babel 是一个通用的多功能 JavaScript 编译器,但与一般编译器不同的是它只是把同种语言的高版本规则转换为低版本规则,而不是输出另一种低级机器可识别的代码,并且在依赖不同的拓展插件下可用于不同形式的静态分析。
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!