0
我對Angular真的很陌生,有一種特殊情況我不明白如何建模。Angular 1.5組件與子組件的特定實例進行通信?
我有一個main
組件:
angular
.module('synthApp')
.component('main', {
templateUrl: 'app/components/main.template.html',
controller: MainController
});
function MainController() {
...
}
其main.template.html
文件包含另一個組件我有兩個實例,該map
組件:
<div>
...
<map name="foo">
...
<map name="bar">
...
</div>
的map
組件看起來是這樣的:
angular
.module('synthApp')
.component('map', {
templateUrl: 'app/components/map.template.html',
controller: MapController,
bindings: {
name: '='
}
});
function MapController() {
var $ctrl = this;
$ctrl.addMarker = function(coords, classId, popupMarkup) {
...
};
$ctrl.removeMarkers = function() {
...
};
}
main
控制器的方法需要在某些點爲foo map
調用addMarker
,而在其他點需要調用addMarker
爲bar
映射。
父組件通信到子組件的特定實例的最佳做法是什麼?
嗯,有趣的......這是簡單的,但我不知道它是多麼可擴展.. 。因爲我需要將一個事件名稱綁定到'addMarker','removeMarkers',以及我添加的任何未來的方法。 – carmenism
如果您使用通道模式,則可以進行縮放。您可以爲每個主題,用戶,產品創建一個頻道。用例子Jsbin,https://jsbin.com/letiti/edit?html,js,console,output –