簡體   English   中英

如何將角度對象值從HTML傳遞給AngularJS控制器作為參數

[英]How to pass an angular object value from HTML to AngularJS controller as parameter

我有一個清單如下

$scope.fileUploadTypesList ={'abc','def'}

我宣布以下清單

 <div class="row" ng-repeat="list in fileUploadTypesList track by $index">
                    <div class="col-sm-12 col-xs-12" id="{{list}}Upload">
                        <div class="col-xs-12 imgHolder">
                            <h5 class="text-muted"
                                style="position:absolute;top:30%;left:20%;right:20%;text-align: center;">
                                <i class="fa fa-upload fa-2x"></i><br /> Attach {{list}}
                            </h5>
                            <img class="center fileUploadImage" />
                            <input name="{{list}}Upload" type="file" 
                                   class="fileUpload" accept="image/*"
                                   onchange="angular.element(this).scope().selectFileforUpload(this.files,{{list}})">
                         </div>
                    </div>
                </div>

我的控制器功能如下

 $scope.selectFileforUpload = function (file, fname) {
        console.log("File Select event:"+ fname);
        $scope.SelectedFileForUpload = file[0];
        $scope.SaveFile(fname);
    };

現在, fname無法從{{list}}接收值,這給了我以下控制台錯誤Uncaught SyntaxError: Unexpected token {我如何將{{list}}值發送到參數

使用onchange="angular.element(this).scope().selectFileforUpload(this.files,{{list}})"我正在嘗試發送{{list}}

fname是應該接收{{list}}值的變量

為了獲得項目值,您將需要使用以下方法訪問元素的范圍

<input type="file" accept="image/*" name="{{list}}Upload" 
  onchange="angular.element(this).scope().selectFileforUpload(this.files,
    angular.element(this).scope().item)">


$scope.selectFileforUpload = function(files, list) {
    console.log(list);
    console.log(files[0].name);
    console.log(files[0]);
};

這是一個有效的例子。 http://codepen.io/mkl/pen/QEpLRa

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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