【问题标题】:Passing multiple argument to ng-click method将多个参数传递给 ng-click 方法
【发布时间】:2013-10-01 00:32:28
【问题描述】:

在我的代码中,我喜欢将参数传递给在 ng-click 属性中指定的函数。

<div class="shout" ng-repeat="user in users">
 <p>{{user.name}}</p>
 <img src="media/images/delete.png" ng-click="deleteUser({{$index}},{{user._id}})"/>
</div>

在控制器中

function deleteUser(index, userId){...}

参数index是从$scope.user中删除用户,user._id是从mongodb中删除。我是 Angular js 的新手。

当我这样尝试时,不会调用 deleteUser。如果我传递单个参数,它就像魅力一样,但是当我传递的不止是它不起作用时

【问题讨论】:

    标签: javascript angularjs


    【解决方案1】:

    在为事件处理程序 (ng-click) 指定参数时,您不需要 {{ }}。正确的语法是ng-click="deleteUser($index, user._id):

    <div class="shout" ng-repeat="user in users">
     <p>{{user.name}}</p>
     <img src="media/images/delete.png" ng-click="deleteUser($index, user._id)"/>
    </div>
    

    这是一个基于您提供的代码的工作插件(检查控制台以查看点击处理程序是否正常工作):http://plnkr.co/edit/26A4Rj0FScPXYU7z92E6?p=preview

    【讨论】:

    • 它尝试过这样的 ng-click="deleteUser($index, user._id)" 但在呈现的代码中它显示 deleteUser($index,user_id) 值未绑定。
    • @JaisonJustus 不确定什么不适合你,所以我附上了实时代码。也许这是您在范围内定义函数的一种方式?
    • deleteUser() 函数的参数之间的“,”后保留空间是这里的关键。谢谢提示
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多