簡體   English   中英

Angular 指令不更新模型

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM