我在 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/