我在ng-repeat中有一个嵌套控制器,如下所示。我的问题是我的范围变量没有绑定,并且按钮也没有到达范围函数。我有一个控制器设置并分配了值,它初始化并运行良好但在此之后我没有在视图中看到任何值。
<div ng-repeat="field in model.fieldData | filter:filterFn">
<div class="panel-heading">
.....
</div>
<div class="panel-body">
<div ng-controller="commentsCtrl">
<p>{{field.Id}}...{{model.text}}</p>
<button type="button" ng-click="createComment()">New</button>
</div>
</div>
</div>
angular.module('main').controller('commentsCtrl', [
'$scope', '$modal', 'connectionService', 'fieldService',
function ($scope, $rootScope, $http, $modal, connectionService, fieldService) {
$scope = {};
$scope.model = {};
$scope.model.text = "test for view";
$scope.createComment = function(){
...this never gets hit
};
}
]);
编辑解决:我已声明$ scope = {}已重置我的整个范围..太棒了
答案 0 :(得分:5)
您正在替换Angular $scope
对象,从而替换您编写时的行为:
$scope = {};
删除该行,它将起作用。