我想要做的是点击好友列表中的好友后,加载一个聊天对话框模板 HTML 文件,而不会干扰当前 DOM 中的其他元素,就像在 facebook 中聊天一样。
我的问题是加载 html 模板文件后,范围变量(例如 {{contact.jid}})没有正确呈现,甚至没有调用对话框的控制器。
如何强制重新渲染或调用控制器,以便正确渲染这些变量?或者我不应该使用 jQuery.load 函数来做到这一点?我想不出任何其他方法。
谢谢你。
控制器代码:
// Controller for the chat dialog
ctrl.controller('ChatCtrl',function($scope){
$scope.test = "Test"
});
// Controller for the buddy list
// $scope.toggleDialog is called when a buddy is clicked
ctrl.controller('ContactCtrl',function($scope){
$scope.contacts = window.contactList;
$scope.toggleDialog = function(to){
$.("#chatarea").load("chatdialog.html")
};
});
加载具有 ng-controller 属性的 chatdialog.html 后不会调用聊天对话框的控制器函数,因此未设置 {{test}} 变量。