这是我的HTML:
"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);
}
}]);
这是我的控制者:
import {FormBuilder, FormGroup} from "@angular/forms";
private addEmailItemForm : FormGroup;
export class ParentComponent implements OnInit, OnDestroy {
constructor(private _fb: FormBuilder) {}
ngOnInit() {
this.parentComponentForm = this._fb.group({});
}
}
除了loadChat函数中的用户名外,一切正常。 用户名控制台记录{{friend.friend_username}},而不是我想要的friend.friend_username的值。在DOM中,一切看起来都很好。 ng-click =“loadChat('USERNAME')”正确显示,但在聊天控制器中,用户名设置为{{friend.friend_username}}。我不知道为什么会这样。我希望有人可以帮我解决这个问题。
答案 0 :(得分:1)
直接将用户名传递给ngClick
,不要使用字符串插值
<a ng-click="loadChat(friend.friend_username)" >
答案 1 :(得分:1)
不需要插值
ng-click="loadChat(friend.friend_username)"