传递变量成一个函数 - AngularJS
问题描述:
我有以下HTML:传递变量成一个函数 - AngularJS
<button id="capIt" class="preview" ng-click="saveCaption('{{ user_id }}')">
<i class="fa fa-floppy-o"></i> Save It!
</button>
其中,在DOM检查时,转换为例如这样的:
<button id="capIt" class="preview" ng-click="saveCaption('123')">
<i class="fa fa-floppy-o"></i> Save It!
</button>
我有我的控制器内的函数:
capApp.controller('mainController',
['$scope', '$http', '$rootScope', '$location',
function($scope, $http, $rootScope, $location) {
$scope.saveCaption = function(user_id) {
console.log('clicked '+user_id);
// plus other stuff but that's irrelevant
}
}]);
但点击该按钮时我在控制台中看到的是这样的:
clicked {{ user_id }}
为什么码是否正确在DOM但功能变得{{ user_id }}
,而不是123
?
答
只是传递的user_id
代替{{user_id}}
你的变量范围,因此任何值将被直接接走。
答
您不需要检查用户标识,因为您已经在“代码”中。
尝试:
<button id="capIt" class="preview" ng-click="saveCaption(user_Id)">
<i class="fa fa-floppy-o"></i> Save It!
</button>