我正在尝试将通过 ng-repeat 显示的值传递到我的控制器中的函数中。该值在 HTML 中正确显示,但是当我使用该函数时,它会显示 AngularJS 表达式而不是实际值。
HTML如下:
<li ng-repeat="account in accounts | filter:accountQuery" ng-click="setDisplayedFilters('{{account.AccountId}}')">
<span>{{account.Name}}</span>
</li>
当我检查浏览器(在本例中为 Chrome)内的元素时,它会显示实际的 AccountId,就像它应该显示的那样。
setDisplayedFilters 函数如下:
$scope.setDisplayedFilters = function(accountId){
alert(accountId);
$.each($scope.accounts, function(i, item){
if(item.AccountId == accountId)
{
alert("Selected Account Id: " + accountId + "Matching Id in accounts Array: " + item.AccountId);
}
});
};
javascript 中的第一个警报将执行并显示“{{account.AccountId}}”。第二个不会,因为它将 {{account.AccountId}} 与实际帐户 ID 进行比较。所以我想知道的是,我错过了什么导致 Angular 从字面上解释 AngularJS 表达式,而不是应该放在它的位置的值?