在角度控制器之间共享json

时间:2014-08-26 14:09:22

标签: json angularjs

我有一个相当大的Json对象,我通过$ http接收,我想在两个控制器之间共享。为了给你一个想法 - 两个控制器共享父最多的数组(标记为级别),然后在级别内有键:嵌套数组的值(其中2个),每个控制器分别使用和编辑它们。我试图尽可能地巩固这个,所以我想如果我可以控制2个控制器之间的1个json,这将起作用。

我希望能够编辑每个子数组并作为一个整体推回到服务器,但在我尝试这一步之前,我想确保这样的事情是可能的。我试过使用工厂和服务无济于事。我很好奇,如果我能做到这一点,我带入阵列 - 它是2路绑定?第一个控制器应该能够添加更多级别,第二个控制器可以以不同的方式添加它们,而第一个控制器不能。如果我要引入json并在控制器之间共享它并在第一个上添加一个级别,它会在第二个上显示吗?

我现在一直在反对这一点,所以任何见解或方向都会非常感激。谢谢!

我抓住了json的样子(如果语法关闭,请原谅我) -

{
"level1": {
 "form": {
    "form1": "sample1",
    "form2": "sample2",
    "form3": 500,
    "form4": 500
}
"sublevels": {
    "subL":  ["1", "2", "3"],
    "help1": "main_window",
    "help2": 500
}},
"level2": {
 "form": {
    "form1": "sample1",
    "form2": "sample2",
    "form3": 500,
    "form4": 500
}
"sublevels": {
    "subL":  ["1", "2", "3"],
    "help1": "main_window",
    "help2": 500
}

}

}

因此两个控制器都会构建级别,例如“级别级别”ng-repeat类型场景,但控制器1将使用“表单”键,控制器2将使用“子级别”键。他们可以编辑这些部分并将整个sting发回服务器进行保存。我没有太多其他因为我试图设置的工厂/服务似乎根本不起作用。谢谢!

1 个答案:

答案 0 :(得分:1)

您可以将其投入使用,但更简单的方法是使用rootscope,或者为两个控制器创建通用的父控制器