【发布时间】:2017-02-02 09:51:54
【问题描述】:
我有一个带有 2 个子组件的 angularjs 组件。当on-added 输出在new-product 组件中触发时,我想在product-list 组件中调用一个函数。
<h1>{{vm.store.title}}</h1>
<product-list store-id="vm.storeId"></product-list>
<new-product store-id="vm.store.id" on-added="$ctrl.productAdded()"></new-product>
productAdded 方法在product-list 组件中并重新启动产品列表。
我们将不胜感激。
【问题讨论】:
-
我认为这两个的父组件应该包含你想要调用的函数。这个函数应该做什么?
-
product-list 组件通过获取 store-id 输入来获取商店的产品列表。当我在父组件中添加该函数时,它调用但从新产品组件添加产品时我重新加载列表的人是谁?
-
我认为 product-list 应该从父组件获取产品列表,并且父组件应该将新产品附加到这个列表中。然后你的问题就消失了。
-
您可以只拥有一个产品列表组件,该组件将负责显示带有自定义模板的产品(如果有),并让父组件/控制器处理列表操作(添加、删除、更新产品列表)。
-
这种方法称为单向数据流。您将事件冒泡,然后数据通过组件树向下传递。
标签: angularjs angularjs-components