Javascript 将数据从控制器发送到js函数

Javascript 将数据从控制器发送到js函数,javascript,angularjs,Javascript,Angularjs,我有一个控制器: function NameController($scope){ $scope.data = { name: 'Alex', } } 和HTML <div ng-controller="NameController"> <a href="#" onclick="alert( {{data.name}} );"> ClickMe </a> <

我有一个控制器:

function NameController($scope){
        $scope.data = {
            name: 'Alex',
        }
    }
和HTML

    <div ng-controller="NameController">
        <a href="#" onclick="alert( {{data.name}} );"> ClickMe </a>
    </div>

为什么它不起作用,如何使它起作用? Thanx.

试试这个:

<a href="#" onclick="alert( '{{data.name}}' );"> ClickMe </a>

在视图中调用
警报
时,它实际上是在查找未定义的
$scope.alert
。您可以在控制器中创建一个调用javascript
alert
函数的
alert
函数:

$scope.alert = function(data){
   alert(data);
};  
您还应该使用
ng单击
,而不是
onclick

<a href="#" ng-click="alert(data.name)"> ClickMe </a>

ng单击
获取角度表达式。如果使用
onclick
,javascript(非角度)会尝试处理单击事件,但它不理解
{{data.name}}
是什么


您可以使用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);
    }
 }