我有一個包含父組件(和它的稱呼):
$scope.$broadcast('searchNoFilter');
,幷包含一個子組件(和這就是所謂的):
$scope.$on('searchNoFilter', function(e) {
self.search();
});
父觸發事件, 但孩子的身體$on
不叫。
我錯過了什麼?
我有一個包含父組件(和它的稱呼):
$scope.$broadcast('searchNoFilter');
,幷包含一個子組件(和這就是所謂的):
$scope.$on('searchNoFilter', function(e) {
self.search();
});
父觸發事件, 但孩子的身體$on
不叫。
我錯過了什麼?
最有可能的監聽器連接到子組件範圍之前的事件被廣播發生。最好避免廣播事件。父元素中的事件修改父元素中的模型值。使用單向<
綁定將父級模型值綁定到子組件作用域。無論子組件何時實例化,模型值都會保留並可用。事件是短暫的,可以錯過。
the're沒有足夠的信息真正告訴,發佈一些更多的代碼,使一個MVCE /普拉克。 – svarog
@georgeawg我認爲你是對的。但模型將如何幫助?孩子會在這個模型上看到手錶嗎? –
正在廣播的事件最有可能發生在偵聽器附加到子組件作用域之前。最好避免廣播事件。父元素中的事件修改父元素中的模型值。使用單向'<'綁定,將父級模型值綁定到子作用域。無論子組件何時實例化,模型值都會保留並可用。事件是短暫的,可以錯過。 – georgeawg