0
私はAngularにとって本当に新しく、特定の状況があります。私はモデル作成の仕方を理解していません。サブコンポーネントの特定のインスタンスと通信する角度1.5のコンポーネントですか?
私はmain
コンポーネントがあります。
<div>
...
<map name="foo">
...
<map name="bar">
...
</div>
map
コンポーネントは、このようなものになります:
angular
.module('synthApp')
.component('main', {
templateUrl: 'app/components/main.template.html',
controller: MainController
});
function MainController() {
...
}
そのmain.template.html
ファイルは、私が持っている別のコンポーネント、map
コンポーネントの2つのインスタンスが含まれていますが
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
をコールしなければならず、それ以外の場合はbar
マップの場合はaddMarker
を呼び出す必要があります。
サブコンポーネントの特定のインスタンスと通信する親コンポーネントのベストプラクティスは何ですか?
うーんを...それは簡単ですが、私はそれがどのようにスケーラブル思ったんだけど...なぜなら、イベント名を 'addMarker'、' removeMarkers'、そして将来のメソッドにバインドする必要があるからです。 – carmenism
チャネルパターンを使用すると、それは一種のスケールになります。あなたはトピック、ユーザー、製品ごとにチャネルを持つことができます。 Jsbin(例:https://jsbin.com/letiti/edit?html,js,console,output) –