javascript - ng-repeat 和 ng-click 无法正常工作

标签 javascript html angularjs

我在 AngularJS 的 Spa 中遇到了一些新问题。

这是我的 HTML:

<a ng-repeat="friend in chat.friendlist" ng-click="loadChat('{{friend.friend_username}}')" data-toggle="modal" data-target="#chat" data-dismiss="modal"  class="list-group-item p-x-md">
                    <i class="fa fa-circle text-success text-xs m-r-xs"></i>
                    <span>{{friend.friend_username}} - {{friend.gamename}}</span>
                </a>

这是我的 Controller :

"use strict";

    app.controller("chatCtrl", ["userService", "socket" , "chatService", "$scope", function (userService, socket , chatService, $scope) {
        var self = this;

        self.friendlist = chatService.friendlist;

        chatService.init(userService.username);

        $scope.loadChat = function (username) {
            console.log(username); //console logs {{friend.friend_username}}
            chatService.chatWith(username);
        }

    }]);

除了 loadChat 函数中的用户名之外,一切正常。 用户名控制台记录 {{friend.friend_username}} 而不是我想要的friend.friend_username 的值。在 DOM 中,一切看起来都很好。 ng-click="loadChat('USERNAME')"显示正确,但在聊天 Controller 中用户名设置为 {{friend.friend_username}}。我不知道为什么会发生这种情况。我希望有人能帮我解决这个问题。

最佳答案

直接将用户名传递给ngClick,不使用字符串插值

<a ng-click="loadChat(friend.friend_username)" >

关于javascript - ng-repeat 和 ng-click 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44414399/

相关文章:

javascript - 如何在 JavaScript 代码中访问 PHP 变量?

javascript - 在 HTML textArea 中的每个文本后面添加一个空格

javascript - 如何在 JavaScript 中检测月份变化?

javascript - 使用 JS/jQuery PIE 移动的元素未更新

javascript - 使用 D3.js 创建数据的同步加载并在加载后绘制

javascript - 在从函数返回的对象上使用ES6传播运算符

javascript - 输入类型 "Text"会出现模糊文本,焦点消失?

css - 动态添加的选择框下的按钮

javascript - ng-if 中的原始 javascript 不起作用?

javascript - 使用 UpgradeModule 从 AngularJS 1.5 升级到 Angular 5 时出错