簡體   English   中英

使用ng-click與ng-repeat相同的標簽,並帶有ng-repeat范圍的參數

[英]Using ng-click on the same tag as ng-repeat with argument from ng-repeat scope

我有一個選擇列表,其中填充了對象列表中的ng-repeat標簽。 這些對象中每個對象的name屬性都顯示在標記中。 單擊這些標簽之一后,我想用ng-click調用一個函數,並將這些對象的url屬性作為參數傳遞。

填充部分工作正常,但似乎無法傳遞參數。 代碼如下:

的HTML:

<div ng-controller="TaskChartCtrl">
  <select>
    <option ng-repeat="project in projectList" ng-click="populateGraphs(project.url)">{{ project.name }}</option>
  </select>
</div>

來自控制器的相關部分:

 myApp.controller("TaskChartCtrl", ["$scope", "$http", function ($scope, $http) {    

    $scope.projectList = {};

    $http.get('URL', config).then(function(response) {
        $scope.projectList = response.data.projects;
    }, function(errResponse) {
        console.error("Error fetching projectList");
    });


    $scope.populateGraphs = function(projectUrl) {
      //FUNCTION CODE GOES HERE
    }
}]);

有人能指出我錯誤的正確方向嗎?

非常感謝!

由於您正在使用<select> ,因此需要使用ng-change而不是ng-click

還對<select>使用ng-options而不是ng-repeat

參考: 通過ng-click選擇選項在使用AngularJS的chrome瀏覽器中不起作用

嘗試此操作,更改時在populateGraphs函數內設置selectedProject

<select ng-model="selectedProject" ng-options="project as project.name for project in projectList" ng-init="selectedProject = 'someProjectName'" ng-change="populateGraphs(selectedProject.url)">
<option value="">Select A Project</option>
</select>

暫無
暫無

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

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