AngularJs,聊天应用。动态指令

AngularJs, chat application. Dynamic directives

作为 Backbone 开发人员,我正在与 Angular 开发聊天应用程序。这是一次学习经历,我不知道如何处理。

在我的示例中,有用户在像 facebook 聊天应用程序一样互相聊天。单击一个用户并创建一个房间然后开始聊天非常简单。使用 backbone

非常易于管理
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)
});

有了这个,我可以在自己的范围内管理多个聊天 windows。

我认为 angular 指令可以做到这一点。但是如何为每个打开的房间创建新的控制器并在他们自己的范围内创建 运行。我需要一个好的练习。 当分离的控制器发出如下消息时。

SocketService.emit('newMessage', {
  room: room,
  data: {
    message: "bla bla",
    owner: user
        ...
  }
});

我需要一个简短的例子来解释如何使用 Angular 进行管理。

创建指令时,您只需指定控制器名称。

var directive = function() {

        return {
            restrict: 'E',
            replace: true,
            controller: 'group.panel.controller',
            templateUrl: '/templates/groups/group_panel'
        };

    };

    module.directive('groupPanel', directive)

指令的每次使用都会得到它自己的实例。如果您需要更多信息,您可以尝试在 google 中搜索 {'angular'、'directive'、'scope'、'controller'] 这样的字词angular 文档。

另请参阅本文档中有关 "Isolating the scope of a Directive" 的部分:https://docs.angularjs.org/guide/directive .