我有控制器:
function NameController($scope){
$scope.data = {
name: 'Alex',
}
}
和HTML
<div ng-controller="NameController">
<a href="#" onclick="alert( {{data.name}} );"> ClickMe </a>
</div>
为什么它不起作用以及它是如何工作的? 感谢名单。
答案 0 :(得分:1)
当您在视图中调用alert
时,它实际上正在查找未定义的$scope.alert
。您可以在控制器中创建一个alert
函数来调用javascript alert
函数:
$scope.alert = function(data){
alert(data);
};
您还应该使用ng-click
代替onclick
:
<a href="#" ng-click="alert(data.name)"> ClickMe </a>
ng-click
采用角度表达式。如果您使用onclick
,则javascript(非角度)会尝试处理点击事件,但它无法理解{{data.name}}
是什么。
答案 1 :(得分:0)
试试这个:
<a href="#" onclick="alert( '{{data.name}}' );"> ClickMe </a>
答案 2 :(得分:0)
您可以使用ng-click AngularJs指令
所以你的HTML应该是这样的:
<div ng-controller="NameController">
<a href="#" ng-click="alert( {{data.name}} );"> ClickMe </a>
</div>
在控制器中你必须定义警告功能,如
function NameController($scope){
$scope.alert = function(name) {
alert(name);
}
}