我有2页,由同一个ng-app中的2个不同的控制器控制。
我们说他们是:
app.com/budget/ - BudgetController
app.com/expense/ - ExpenseController
预算页面供用户编辑预算值,该预算值将进入费用页面数据。同样在费用页面上,还会有一些计算将数据保存到数据库中。
通常,用户在预算页面中更改预算数据,然后刷新/访问该页面的费用页面,将一些新数据保存到数据库中。
现在我希望在1页/控制器中更改数据时自动发生此过程将触发其他页面/控制器更新。我正在考虑使用ShareServices,但除了对DB的同一部分的一些查询之外,这两个控制器没有多少共同之处。
有没有更好的方法呢?
答案 0 :(得分:0)
您可以使用serviceProvider来帮助您封装多个控制器共享的数据。
所以在预算页面中,您会像
一样var myData = dataProvider.getData(); 做你的数据操作。 在切换控制器之前:dataProvider.saveData(myData)
在费用控制器中, var myData = dataProvider.getData();
这就是单页面应用程序。
如果您使用多页面方法,那么您的dataProvider需要与您的保护程序通信以获取和保存数据。
我理解页面没有太多共同之处,但他们需要的数据很常见;因此,获取数据的共享服务最有效。从长远来看,共享服务中的代码是可重用的,并且可以帮助维护。