[英]Angular directive doesn't update model
您好,我正在嘗試從指令更新我的模型,但它不起作用。 我找不到為什么。 有人可以幫忙嗎?
網址:
<input type="file" name="documents" file-model ng-model="documents"multiple>
<button class="btn btn-xs btn-default" ng-click="loadDocuments()">
指示:
app.directive("fileModel", ["$parse",function ($parse) {
return {
restrict: "A",
require:"ngModel",
scope: {
ngModel: '='
},
link: function (scope, element, attrs) {
var model = $parse(attrs.fileModel);
var modelSetter = model.assign;
element.bind("change", function () {
scope.$apply(function () {
scope.ngModel = element[0].files;
});
});
}
};
}]);
結果:
$scope.documents={}; $scope.loadDocuments = function () { console.log($scope.documents); //PRINT UNDEFINED }
嘗試這個:
app.directive("fileModel", ["$parse",function ($parse) {
return {
restrict: "A",
link: function (scope, element, attrs) {
var model = $parse(attrs.fileModel);
var modelSetter = model.assign;
element.bind("change", function () {
scope.$apply(function () {
modelSetter(scope, element[0].files[0]);
});
});
}
};
}]);
<input type="file" name="documents" file-model="documents" multiple>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.