我有一个问题是更多的算法比代码。共享范围之间的视图/控制器
让我们解释什么,我想:
我有,我可以为了元素的树视图。当我双击其中一个元素时,我希望页面可以切换到一个表单,填充单击元素的信息。当我保存表格时,它会返回到树视图,修改元素。
我是如何试图做到这一点的?
我有我的主视图treeView,其控制器treeViewController。我有一个加载元素的工厂。
//treeViewController
$scope = factory.getelement()
//whatever else I need
我已经试过有另一种观点认为“fullEdit”我希望它共享的范围,完全(也可以分享它不会母校实际上是相同的控制器)。 这意味着当我修改其在树中修改的“fullEdit”中的$ scope.element时。
问题是,随着控制器加载示波器,每当我切换视图时,我重新加载了 范围。
我试过用嵌套状态的ui路由器(我不认为这是解决方案)。许多人建议多视图来获得我想要的,但是我已经尝试过了,我得到的所有视图都在同一页面上显示,这不是我想要的。此外,这两种观点似乎仍然是独立的。
此外,使用全局范围似乎不是一个好的解决方案。
编辑/其实我的问题是,当我改变视图控制器被执行,因此范围从后端重新加载。我不希望这样,我想分享$ scope,但不会每次更改视图时重新加载它!
这似乎是一个好方法。我只需要隐藏/取消隐藏其中一个div。这是我原本打算使用Jquery完成的,但它更好地分享范围。谢谢,我今晚会尝试。 – Eagle1 2014-10-09 08:58:04
该服务将跨视图共享数据,您可以使用单独的控制器,然后注入服务,这就是它 – maurycy 2014-10-09 08:58:43
服务,而不是工厂? – Eagle1 2014-10-09 09:33:02