You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 06:10:30