我正在尝试为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上的完整代码示例。