我有这样的事情:
<a href="#" title="Post 1" id="car1"> Audi car
</a>
<a href="#" title="Post 1" id="car2"> BMW car
</a>
如何将id传递给控制器?我尝试了以下方法:
<a href="#" title="Post 1" id="car1" onclick="getCarID(this.id)" > Audi car </a>
这可以在Angular控制器之外工作,但我希望它在控制器内,所以我想出我需要使用ng-click
但是this.id
将不起作用。如何使它工作?
我的控制器和getCarID我有这样的地方:
angular.module('myModule')
.controller('carController', function($scope)
{
$scope.getCarID = function(elementID)
{
var car = document.getElementById(elementID);
console.log(elementID + " is being pressed");
}
)}
如果某些内容不明确或需要额外解释,请将其评论出来,我将编辑问题。
感谢您的时间
答案 0 :(得分:1)
如何使用该活动的目标ID?
<a href="#" title="Post 1" id="car1" ng-click="getCarID($event)">
在你的控制器中:
$scope.getCarID = function(event) {
var id = event.target.id;
}
function Ctrl($scope) {
$scope.action = function(event) {
console.log('clicked id is: ' + event.target.id);
};
}
&#13;
<!doctype html>
<html ng-app>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
</head>
<body>
<div ng-controller="Ctrl">
<a id="123" ng-click="action($event)">click</a>
</div>
</body>
</html>
&#13;
答案 1 :(得分:0)
您需要添加缺少的引号<a href="#" title="Post 1" id="car1" onclick="getCarID(this.id)" > Audi car </a>