为什么我的范围变量没有绑定?

时间:2014-12-12 15:52:07

标签: javascript angularjs

我在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 = {}已重置我的整个范围..太棒了

1 个答案:

答案 0 :(得分:5)

您正在替换Angular $scope对象,从而替换您编写时的行为:

$scope = {};

删除该行,它将起作用。