试图将表达式作为参数传递给指令。从字面上看而不是价值

时间:2014-01-07 17:01:44

标签: angularjs angularjs-directive angularjs-ng-click

我正在尝试将通过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进行比较。所以我想知道的是,我错过了什么导致角度来解释AngularJS expresion字面意思而不是应该放在它的位置?

1 个答案:

答案 0 :(得分:0)

- &GT; setDisplayedFilters(account.AccountId)