为什么Angular指令随机刷新视图?

时间:2014-03-09 15:52:53

标签: javascript angularjs

我正在尝试为jQuery file upload构建指令。我希望它只是ng-model属性的指令,用于将文件数组从控制器模型绑定到jQuery上传器文件队列。我从jQuery上传演示中获取了控制器和HTML标记。

指令代码:

app.directive('nbUploader', [function () {
    return {
        restrict: 'E',
        controller: 'FileUploadCtrl',
        templateUrl: 'uploader.html',
        scope: {
            queue: "=ngModel"
        }
    };
}]);

遍历文件队列的模板标记(uploader.html)如下所示:

<table>
    <tr data-ng-repeat="file in queue">
        <td>{{file.name}}</td>
    </tr>
</table>

用法:

<nb-uploader ng-model="model.Files"></nb-uploader>

在我的控制器中,我使用$ http服务加载“model.Files”:

  $http({method: 'GET', url: 'files'}).
    success(function(data){
      $scope.model = {
        Files: data.Files
      };
    });

文件列表是随机创建的 - 刷新页面时有时会加载,但有时不会。当我通过代码调试时,似乎数据在指令本身中设置,但只有视图不会更新。

如果我在控制器中硬编码模型值,那么一切似乎都有效。

可能是什么问题?

Plunker上的完整代码示例。

0 个答案:

没有答案