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