AngularJs,聊天应用程序。动态指令

时间:2015-07-17 20:02:01

标签: angularjs angular-directive

我正在与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进行这样的管理。

1 个答案:

答案 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