Angularjs 更新Angular child 1.5组件不工作
我使用1.5角组件构建以下结构:Angularjs 更新Angular child 1.5组件不工作,angularjs,angular-components,Angularjs,Angular Components,我使用1.5角组件构建以下结构: <parent> <child active="model.active"> <child active="model.active"> <child active="model.active"> </parent> 当用户选择其中一个子组件时,我希望它处于活动状态,而其他子组件处于非活动状态。因此,逻辑使所有子项处于非活动状态(以清除以前的选择),然后使选定的子项处于活动状态
<parent>
<child active="model.active">
<child active="model.active">
<child active="model.active">
</parent>
当用户选择其中一个子组件时,我希望它处于活动状态,而其他子组件处于非活动状态。因此,逻辑使所有子项处于非活动状态(以清除以前的选择),然后使选定的子项处于活动状态。默认情况下,父级的model.active
属性为false。这对于第一次选择很好,但是后续选择不起作用,因为先前选择的子组件不会取消选择,因为model.active=false
更改不会传播到子组件(因为父级的model.active
值仍然是false
——但是一些子级model.active
等于true
。这无疑是一个范围/约束问题;我觉得我需要强制将model.active=false
下推到所有子级。有什么想法吗?怎么样:
<parent>
<child active="model.active === 0" on-select="model.active=0">
<child active="model.active === 1" on-select="model.active=1">
<child active="model.active === 2" on-select="model.active=2">
</parent>
angular.module('module').component('child'),
{
templateUrl:'template.html',
绑定:{
活动:'
model.deselectAllChildren = function(tabModel) {
model.active = false;
};
<parent>
<child active="model.active === 0" on-select="model.active=0">
<child active="model.active === 1" on-select="model.active=1">
<child active="model.active === 2" on-select="model.active=2">
</parent>
angular.module('module').component('child',
{
templateUrl: 'template.html',
bindings: {
active: '<',
onSelect: '&'
},
controllerAs: 'model',
controller: function() {
var model = this;
model.select = function() {
model.onSelect();
};
}
});