1

我正在尝试将通过 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 表达式,而不是应该放在它的位置的值?

4

1 回答 1

0

-> setDisplayedFilters(account.AccountId)

于 2014-01-07T17:05:19.463 回答