AngularJS服务能否作为控制器间数据传输工具?同步问题求助
问题:AngularJS跨控制器数据同步失败
我参考某示例实现AngularJS两个控制器间的数据传输,但未成功:从外部控制器修改服务的变量后,其自身视图可显示变化,但dashCtrl控制器仍显示服务的初始值。我猜测这和控制器生命周期有关,或许需要先从第一个控制器调用第二个控制器?另外我的代码和示例不同,每个控制器对应独立视图,未在HTML中使用ng-controller指令。
服务代码
我想用外部控制器的值覆盖itemId,之后在关联dashboard.html的dashCtrl控制器中使用它。
var itemId = 10; this.getData = function() { //console.log('in the Get Function'); return itemId; }; this.setData = function(Id) { //console.log('in the Set Function'); itemId = Id; };
读取数据的控制器(dashCtrl)
这是读取itemId变量的dashCtrl控制器。
修改数据的外部控制器
我尝试在此处覆盖变量,以便在仅关联dashCtrl的dashboard.html中使用,但未生效,视图仅显示服务的初始值10。而在dashCtrl内修改则可正常生效。
HTML视图(dashboard.html)
这是dashboard.html的视图内容,调用dashCtrl中的变量。
内容的提问来源于stack exchange,提问作者bambuTR
相关产品推荐
相关产品推荐

