使用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
用ng-options
代替ng-repeat
代替<select>
参考:通过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>
相关文章:
- ng根据作用域值隐藏
- 角度指示ng重复作用域和服务
- 以新模式访问作用域形式ng repeat
- AngularJS:将ng重复作用域暴露给ng transclude
- 使用ng repeat中的键值来扩展作用域表达式
- 如何在使用ng repeat时停止传播(或者如何更好地隔离作用域)
- 角度指令作用域绑定在 ng-repeat中不起作用
- 如何在具有隔离作用域的指令中使用 ng-repeat
- 如何使用 ng-repeat引用作用域中的特定变量
- 将作用域变量设置为ng repeat中的ng模型
- AngularJS的ng-include作用域
- 使用ng-click在与ng-repeat相同的标签上使用ng-repeat作用域的参数
- Angularjs如何访问ng-repeat作用域外的过滤值
- 如何从两次或三次嵌套的ng-repeat作用域访问控制器的作用域
- 使用ng-options时,Ng-model作用域不可用
- 改变函数中的ng-repeat作用域不会更新作用域
- 访问ng重复作用域
- 如何在ng重复作用域内创建属性
- ng-repeat作用域的奇怪行为
- 如何访问ng-repeat作用域?