摘要: 子组件使用created或者mounted通常只能在组件初始化的时候,获取父组件传过来的props数据。 父组件props数据发生变化,子组件默认无法感知,因此需要手动实现子组件监听父组件变化的功能。 一般的值类型数据,可以直接使用watch监听: 引用类型,普通watch方法,无法监听到引用类型内 阅读全文
posted @ 2019-02-24 23:41 phptree 阅读(3542) 评论(0) 推荐(0) 编辑
摘要: Vue 异步执行 DOM 更新。 只要观察到数据变化,Vue 将开启一个队列,并缓冲在同一事件循环中发生的所有数据改变。 如果同一个 watcher 被多次触发,只会被推入到队列中一次。这种在缓冲时去除重复数据对于避免不必要的计算和 DOM 操作上非常重要。 然后,在下一个的事件循环"tick"中, 阅读全文
posted @ 2018-12-11 18:22 phptree 阅读(1032) 评论(0) 推荐(0) 编辑
摘要: vue 2.0 提供了一个keep-alive组件来缓存不活动的组件实例,而不是销毁它们。避免多次加载相应的组件,减少性能消耗。 它是一个抽象组件,自身不会渲染一个 DOM 元素,也不会出现在父组件链中。 当组件在 <keep-alive> 内被切换,它的 activated 和 deactivat 阅读全文
posted @ 2018-12-11 15:32 phptree 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 使用 this.$parent查找当前组件的父组件。使用 this.$children查找当前组件的直接子组件,可以遍历全部子组件, 需要注意 $children 并不保证顺序,也不是响应式的。使用 this.$root查找根组件,并可以配合$children遍历全部组件。使用 this.$refs 阅读全文
posted @ 2018-12-07 14:19 phptree 阅读(7671) 评论(0) 推荐(0) 编辑
摘要: 1. 在main.js 中引入 2. 在/router/index.js中定义命名路由 3. 在app.vue中引入路由视图 4. 在Hello.vue组件中定义类似GET路由请求 5. 在Game.vue组件中定义类似POST路由请求 因为使用了命名路由,要注意路由请求中的name或path 参考 阅读全文
posted @ 2018-12-04 18:44 phptree 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 主要讲三部分内容: 模块化 由于使用单一状态树,应用的所有状态会集中到一个比较大的对象,当应用变得非常复杂时,store 对象就有可能变得相当臃肿。 为了解决以上问题,Vuex 允许我们将 store 分割成模块(module),每个模块拥有自己的 state、mutation、action、get 阅读全文
posted @ 2018-10-12 18:42 phptree 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 在vue中,将父组件的内容放到子组件指定的位置叫做内容分发,类似将父组件的html传到子组件中,达到子组件控制父组件的目的。 例如:我们要开发多个弹窗,这些弹窗有公共的头部、边框、关闭按钮等内容。如果每个弹窗,独立去实现,就会产生很多冗余代码。 于是我们可以使用slot(插槽)功能。 1. 创建一个 阅读全文
posted @ 2018-10-10 15:08 phptree 阅读(486) 评论(0) 推荐(0) 编辑
摘要: 如果不想引入vuex,也可以通过实例化一个vue实例(EventBus)作为媒介来进行兄弟组件通信。在相互通信的兄弟组件之中都引入EventBus,然后通过分别调用EventBus事件的触发和监听来实现通信和参数传递。 首先,我们需要创建一个容器,去充当EventBus,创建一个utils/bus. 阅读全文
posted @ 2018-09-05 17:20 phptree 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 在复杂场景中,可以使用专门的状态管理模式 Vuex。 简单的场景中,可以使用一个父组件、若干个子组件来构建应用,这样通信会比使用vuex简单些: 1. 子组件的 props 选项可以接收父组件传递过来的数据,这是一个单向数据流的过程,子组件对props改动,不会影响父组件。 2. 子组件也可以通过自 阅读全文
posted @ 2018-05-18 21:43 phptree 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 0,本来想只用vue就可以做项目了,后来发现不行;一个网页被切分成若干个组件,组件之间是需要数据传递的,因此引入了vuex这个集中式存储、管理的状态管理模式。 1,安装vuex: 在main.js中引入: 2,创建数据源文件vuex/store.js 并在main.js 中引入 3,重写hello. 阅读全文
posted @ 2017-08-03 22:58 phptree 阅读(131) 评论(0) 推荐(0) 编辑