将对象注入部分

时间:2014-01-16 15:44:43

标签: angularjs

我有一个这样的对象:

{
"first": {...},
"second": {...},
.....
}

现在我要编辑所有子对象。每个子对象看起来都相同并具有相同的功能(CRUD)。我不能使用ng-repeat,因为我想在页面上的特定位置使用子对象。

我的想法是:

  1. 创建一个小部分
  2. 创建一个小型控制器
  3. 将部分n次插入主页并将子对象注入控制器
  4. 如何做到这一点?

2 个答案:

答案 0 :(得分:0)

使用指令。它可以具有特定输入(scope配置),所需的通用模板以及链接功能或控制器中的任何功能。指令起初似乎令人生畏,但它们是工作的工具,非常强大。在你的情况下,它可能只是:

app.directive("editor", function() {
    return {
        restrict: "A",
        scope: {
            item: "=" // input
        },
        template: "..." // the template you want, or alternatively a templateUrl
    };
});

用作:

<div editor="" item="data.first"></div>

一个小例子:http://jsfiddle.net/g9jbh/

答案 1 :(得分:0)

现在很难从你的问题中看出来,但我认为你想要一个具有孤立范围的指令。

指令可以有:

  1. 隔离范围,以便它可以影响您的部分或全部对象
  2. 自己的控制器
  3. 可以拥有自己的模板(部分)