【问题标题】:Angular relational models? Can a model refer to another model?角度关系模型?一个模型可以引用另一个模型吗?
【发布时间】:2017-04-27 13:30:09
【问题描述】:

我有一个像这样产生顶部导航的多级导航结构:

[
{id: 1, label: 'Home', icon: 'fa-home', subitems: []},
{id: 2, label: 'Sitemap', icon: 'fa-sitemap', subitems: []},
{id: 3, label: 'Contact', icon: 'fa-phone', subitems: []}
]

这很好用,但相反,我想做的是这样来定义导航结构:

[
{id: 1, subitems: []}, 
{id: 3, subitems: []}, 
{id: 2, subitems: []}
]

以及一个单独的相关模型,其中包含不同的导航定义列表:

[
{id: 1, label: 'Home', icon: 'fa-home'},
{id: 2, label: 'Sitemap', icon: 'fa-sitemap'},
{id: 3, label: 'Contact', icon: 'fa-phone'}
]

这将允许我复制导航项,并在一个位置更新属性,而无需复制定义。 Backbone 有一个允许这种类型的事情的关系插件 - 不知道如何在角度做这样的事情。我可以遍历初始导航 id 并将它们替换为任何更改的定义,但我认为使用 Angular 1.x 可能有更好的方法来做到这一点

【问题讨论】:

    标签: angularjs angular relational backbone-relational


    【解决方案1】:

    解决一些重复问题的纯角度方法是使用可重用指令。

    function navigationItemDirective() {
         return {
            link: function(scope, element, attrs) {
                console.log(info) // get all necessary info
            scope: {
                info: "=info" // two-way binding to your separate model
                id: "@" // unique id for to bind the directive with the model
            }
        }
    }
    angular.module("app").directive("navigationElemenent", navigationItemDirective);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-02
      • 2011-05-13
      • 2015-02-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多