vue使用的经验总结
2017-02-17 00:00
218 查看
单向数据流
Vue只封装了从父组件到子组件的通信方式:prop
props中包含父组件传入的属性、方法,这些内容会被添加到Vue组件的实例对象上
Vue建议的从子组件到父组件的通信方式:自定义事件
父组件提供一个自定义事件,用于接收子组件的信息,执行相应的函数
Vue补充的任意组件之间的通信方式:全局自定义事件(非父子组件通信)
设置一个新的Vue实例:
*建议将其挂在window上以供工程中全局使用
在组件A中监听自定义事件
A.vue
在组件B中触发自定义事件
B.vue
computed与watch的异同
相同
受现代 Javascript 的限制(以及废弃
它们都只能观察到Vue实例对象(Vue实例中,
不同
computed会自动给Vue实例对象上添加属性、覆盖已有属性,watch不会
computed中的方法只在被访问时执行,而不是在监听属性变化发生时立即执行
watch中的方法,在监听属性变化发生时立即执行
遇到
computed只关心
计算属性的结果会被缓存,除非依赖的响应式属性变化才会重新计算。
watch只关心某个
Vue只封装了从父组件到子组件的通信方式:prop
props中包含父组件传入的属性、方法,这些内容会被添加到Vue组件的实例对象上
Vue建议的从子组件到父组件的通信方式:自定义事件
父组件提供一个自定义事件,用于接收子组件的信息,执行相应的函数
Vue补充的任意组件之间的通信方式:全局自定义事件(非父子组件通信)
设置一个新的Vue实例:
var bus = new Vue()
*建议将其挂在window上以供工程中全局使用
window.Bus = bus
在组件A中监听自定义事件
A.vue
<script> module.exports = { created: function(){ bus.$on('event-A', function (something) { // ... }) } } </script>
在组件B中触发自定义事件
B.vue
<script> module.exports = { created: function(){ bus.$emit('event-A', 'say something') } } </script>
computed与watch的异同
相同
受现代 Javascript 的限制(以及废弃
Object.observe),Vue 不能检测到对象属性的添加或删除
它们都只能观察到Vue实例对象(Vue实例中,
this指向的对象)上存在的属性变化
不同
computed会自动给Vue实例对象上添加属性、覆盖已有属性,watch不会
computed中的方法只在被访问时执行,而不是在监听属性变化发生时立即执行
watch中的方法,在监听属性变化发生时立即执行
遇到
computed监听无效,而
watch有效,原因往往出在这里
computed只关心
计算结果,不限制多少个属性发生了变化,可以监听多个属性变化的结果
计算属性的结果会被缓存,除非依赖的响应式属性变化才会重新计算。
watch只关心某个
属性变化,发生变化则执行相应逻辑
相关文章推荐
- vue2.x使用小经验总结
- 网友们总结使用blog的各种技巧和经验
- 有关水晶报表的使用经验和资料总结
- JTree用法及JTree使用经验总结(吐血推荐)
- VC中使用ListCtrl经验总结
- [转]水晶报表的使用经验和资料总结 [http://blog.csdn.net/coolsummer1980/archive/2006/09/30/1310588.aspx]
- Ajax使用经验总结(大纲)
- Linux下使用oracle的经验总结
- JTree使用经验总结 - [ ] - [ ]
- VC中使用ListCtrl经验总结
- jfreechart使用经验总结(针对版本:jfreechart-1.0.0-pre2.zip)
- 提高书写效率--editplus使用经验总结
- 使用JfreeChart开发图表经验总结
- VC中使用ListCtrl经验总结(1)
- JTree使用经验总结
- VC中使用ListCtrl经验总结(1)
- JfreeChart使用经验总结(分析了使用中碰到的一些常见问题)
- 水晶报表的使用经验和资料总结
- SQL Server2000 索引结构及其使用 (索引使用经验总结)
- SQL优化-索引 (四)其他书上没有的索引使用经验总结