AngularJS:双向数据绑定 - 带有ng重复的指令 - 不起作用
AngularJS : Two way data binding - directive with ng-repeat - not working
我被从指令到控制器的双向数据绑定所困扰。指令是带有ng重复的。尝试了几件事,但无法让指令范围变量反映在控制器中。
angular.module("myApp", [])
.controller("Ctrl1", function ($scope) {
$scope.crossTabs = [1,2,3,4,5];
})
.directive("crossTab", function () {
return {
restrict: "E",
template: "<input type='text' ng-model='crossTab'/><button ng-click='changeLols()' id='clc'>change crossTabs</button>",
scope: {
crossTabs: '=',
crossTab: '='
},
controller: function($scope){
$scope.changeLols = function(){
// The below comment line is not working. It doesnt change anything. But the one uncommented which pushes an element updates the controllers 'crossTabs' variable as well.
//$scope.crossTabs = [3,4,5];
$scope.crossTabs.push(6);
}
},
link: function (scope, elem, attrs) {
}
}
});
.HTML
<div ng-app="myApp" ng-controller="Ctrl1">
<div> Controller: {{ crossTabs }}</div><br>
<h5>Directive Section below</h5>
<cross-tab ng-repeat="crossTab in crossTabs" cross-tab="crossTab" cross-tabs="crossTabs"></cross-tab>
</div>
这是JSFIDDLE:http://jsfiddle.net/keshav89/sezknp1t/1/
我错过了什么。我也尝试使用链接功能,但无济于事。
将它们放在这样的对象中:
$scope.viewModel = {
crossTabs: [1, 2, 3, 4, 5]
};
和:
<cross-tab ng-repeat="crossTab in viewModel.crossTabs" cross-tab="crossTab" cross-tabs="viewModel.crossTabs">
演示:http://jsfiddle.net/fzz9xabp/
关于原型遗传和AngularJS的一个很好的答案可以在这里找到。
相关文章:
- Angular指令在alertify setContent内容中不起作用
- AngularJS指令部分应用的函数don'不起作用
- Google Maps API OverlayView()在AngularJS指令中不起作用
- mouseover和mouseleave文本颜色更改在指令链接中不起作用
- 这段jquery代码在angular指令中不起作用
- Angular Filter在指令表达式中不起作用
- Angular UI Select2指令搜索功能不起作用
- 新的自定义角度指令不起作用
- 对于使用传递的数据计算的局部范围变量,角度绑定在自定义指令中不起作用
- 滚动指令在Angular JS中不起作用
- 角度指令双向绑定不起作用
- Angular.JS自定义指令;不起作用
- 指令中选择输入的双向绑定不起作用
- ng中使用的指令包括dond'不起作用
- scope.$apply 是未定义的,在 scrolly 指令中不起作用
- AngularJS,自定义指令不起作用@ plnkr
- 指令的角度优先级不起作用
- Angular js指令使用控制器作为语法ng点击不起作用
- 指令链接中的绑定不起作用
- ng 路由不起作用指令