我正在与Angular开发一个聊天应用程序作为Backbone开发人员。这是一种学习经历,我不知道如何管理它。
在我的例子中,有用户和Facebook聊天应用程序互相聊天。单击一个用户并创建一个房间,然后开始聊天非常简单。它非常易于管理
var room = {
id: 123123,
participants: [{
id: 123,
name: 'user-1'
}, {
id: 124,
name: 'user-2'
}]
};
var newChatWindow = new App.views.ChatWindow({
model: new App.models.Chat(room)
});
有了这个,我可以在自己的范围内管理多个聊天窗口。
我认为角度指令可以做到这一点。但是如何为每个打开的房间创建新的Controller并在自己的范围内运行。我需要一个好的练习。 当分离的控制器发出如下信息时。
SocketService.emit('newMessage', {
room: room,
data: {
message: "bla bla",
owner: user
...
}
});
我需要一个简短的例子来解释如何使用Angular进行这样的管理。
答案 0 :(得分:1)
创建指令时,只需指定控制器名称。
var directive = function() {
return {
restrict: 'E',
replace: true,
controller: 'group.panel.controller',
templateUrl: '/templates/groups/group_panel'
};
};
module.directive('groupPanel', directive)
然后,每次使用该指令都会获得它自己的实例。如果您需要其他信息,可以尝试搜索谷歌搜索{' angular','指令','范围','控制器']等字词这应该会让你在有角度的文件中进入球场。
另请参阅"隔离指令的范围"在本文档中:bioportal。