从嵌套指令访问指令属性

时间:2015-07-17 16:52:09

标签: angularjs angularjs-directive

我正在开发一个电子邮件模块,我将插入未来的项目中。我有三个指令:我有一个消息列表指令(显示来自主题和日期的基本信息),一个摘要指令(只显示所需信息的可点击链接(例如正文)),然后是详细指令(显示完整的电子邮件视图)。

我遇到的挑战是尝试将所有三个组合在一起,通过控制器使用相同的数据。本质上我想通过控制器向顶级指令(list指令)显示一个模型,然后该模型中的信息应该可以在嵌套指令视图中使用,但我不想更改属性这些嵌套指令。

list指令---> summary指令(嵌套在list指令中) - > detail指令(可通过summary指令中的click事件访问)

这是父指令:

messagingApp.directive('MessageList', ['$log', function ($log) {
'use strict';

return {
    templateUrl: 'directives/messagelist.tmpl.html',
    scope: {
        messages: '=',
        fromWho: '=',
        subject: '=',
        date: '=',
        details: '=',
        archiveMessage: '=',
        messageStatus: '=',
        messagePriority: '=',
        markAs: '&',
        checkPriority: '&',
        readMessage: '&'
    }
};
}]);

然后在我看来,这些是我想要传递给嵌套指令的属性(可用于所有三个指令):

<div ng-repeat="msg in message.allMessages>
        <message-list messages="msg" message-status="msg.status" message-priority="msg.priority" from-who="msg.from" subject="msg.subject" date="msg.date" details="msg.body" archive-message="archiveMessage(msg)" mark-as="markAs(msg)" check-priority="checkPriority(msg)" read-message="readMessage(msg)"></message-list>
</div>

在该指令的模板中,我引用了其他指令。

有一种简单的方法吗?如果措辞不好,我道歉。我是Angular的新手,我一直在研究这个问题,但没有运气。也许我写错了。

提前感谢您的帮助。

0 个答案:

没有答案