【发布时间】:2017-05-20 00:32:00
【问题描述】:
我有一个父组件<lookup-table></lookup-table>,它有一个如下模板:
<td>
<whois domain="{{ $ctrl.query }}" extension="{{ ext.name }}"></whois>
</td>
<whois></whois> 组件如下:
angular.
module('app.components.whois').
component('whois', {
template: "Whois: {{ $ctrl.domain + '.' + $ctrl.extension + ' = ' + $ctrl.whois }}",
controller: [
function WhoisController() {
this.whois = 'http://'+this.domain+'.'+this.extension;
}
],
bindings: {
domain: '@',
extension: '@'
}
});
当父 $ctrl.domain 或 $ctrl.extension 更改时,<whois></whois> 组件会更新,但变量 $ctrl.whois 除外。
我知道这是因为 $ctrl.whois 在控制器功能执行时只设置了一次。
如何在绑定更改时更新$ctrl.whois?
【问题讨论】:
-
您需要查看组件 docs.angularjs.org/guide/component 的 $onChanges(changesObj) 挂钩。这将允许您检查域或扩展名何时更改。然后你可以更新 this.whois
-
谢谢!这就像魅力:) 如果您发布答案,我很乐意将其标记为解析器。
-
完成。很高兴我能帮助你! :)
标签: angularjs components