AngularJS ng-bind-html不会更新值

时间:2015-10-04 16:13:00

标签: javascript angularjs ionic

我将AngularJSApache Cordova(又名:Ionic)结合使用,用于混合移动应用,并且我正在使用ng-bind- HTML功能。我们的想法是根据Object的值生成HTML元素。但是,我注意到HTML没有重新编译"或者当价值改变时的任何事情,这对我自己造成了很大的麻烦。

我为数组中的每个值创建一个输入字段。然后使用可以使用按钮更改的数组索引。因此,例如,数组索引1可能有3个输入字段,但数组索引2可能有5个。问题是HTML在使用索引时不会更新。

例如,这里有一些HTML代码:

<div id="container" ng-bind-html="genHTML()"></div>
<button class="button" ng-click="next()">Current index: {{index}}</button>

这里有一些JavaScript

function controller($scope) {
    $scope.object = [ ['a', 'b', 'c'], ['d', 'e'] ];
    $scope.index = 0;
    $scope.genHTML = function() {
        var html = "";
        for(var i = 0; i < $scope.object[$scope.index].length; i++) {
            html += '<input type="text" ng-model="object[index]['+i+']">';
        }
        return html;
    };

    $scope.next = function() {
        $scope.index++;
    };
}

单击该按钮时,$scope.index的值会增加,但$scope.genHTML生成的输入字段不会更新。我该如何解决这个问题?

注意:我使用bind-html-compile代替ng-bind-html,以便重新编译angular指令。资料来源:https://github.com/incuna/angular-bind-html-compile

0 个答案:

没有答案