将 ng-repeat 变量传递给 javascript 函数

Pass ng-repeat variable to javascript function

我正在尝试将 key 值传递给 ng-repeat 中的 javascript 函数,但它不起作用

<ul class="m-list">
    <li ng-repeat="(key,store) in brand.storesInfo">
            <a onclick="save_key({{ key }})"
                    href="{{ store.url }}" target="_blank">
                    <img src="{{ store.icon }}"/>
            </a>
    </li>
</ul>   

save_key 这不是 angular 控制器功能

在 angularJS 中你使用 ng-click 而不是 onclick 并直接传递引用而不是插值

<ul class="m-list">
    <li ng-repeat="(key,store) in brand.storesInfo">
            <a ng-click="save_key(key)"
                    href="{{ store.url }}" target="_blank">
                    <img src="{{ store.icon }}"/>
            </a>
    </li>
</ul>   

正如@charlietfl 在下面建议的那样 - 如果 save_key() 存在于 angular 应用程序之外,那么您可以通过控制器将其连接到

$scope.save_key = save_key

这会将范围内的 ng-click 函数与页面函数相关联 function save_key(...

但是,在我看来,将其全部保留在 AJS 生态系统中似乎更干净,在这种情况下,您将使用 controller/service 等在内部处理所有逻辑

$scope.save_key = function (key) {
   //...
}