gpt4 book ai didi

javascript - 解析通用 Controller AngularJS的数据

转载 作者:行者123 更新时间:2023-11-28 08:18:45 25 4
gpt4 key购买 nike

只是想知道是否有任何方法可以解析未分配任何路由的 Controller 的数据(所有操作通用的 BaseController)

App.controller('BaseCtrl',function($http, Service){
$scope.data = null;
Service.getData(function(data){
$scope.data = data;
});
});

我可以在加载基本 Controller 之前解析 Service.getData(); 并将其注入(inject)到其中吗

var Base = App.controller('BasCtrl', function($http, BaseData){
$scope.data = BaseData;
});
Base.resolve = {
BaseData:function(Service){
return Service.getData();
}
}

如果可能的话请帮忙。

PS:我只想在加载 BaseCtrl 之前从服务中准备数据并将其注入(inject)其中。

最佳答案

如果你的 BaseCtrl 与你的主页一起加载,那么你必须在加载包含 BaseCtrl 的 javascript 页面之前获取数据并将其放入 window.BaseData 中,否则无论哪个 Controller 首先加载都会在其中加载数据。

如果basectrol是首页,那么您可以通过在单独的JS页面中立即调用函数来实现它,并将该JS放在BaseCtrl js文件之前。

例如fetchdata.js

(function() {
window.BaseData= function() {...});
})();

您可以通过注入(inject)到 Controller 的全局参数从 Angular Controller 访问 BaseData。

现在按此顺序放置文件

<script src= "fetchdata.js"></script>
<script src="basecontroller.js"></script>

你会发现你必须打破规则才能做到这一点,但无论如何,你的 Service 中的 Angular $resource 也只不过是 Ajax 实现。

关于javascript - 解析通用 Controller AngularJS的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23265439/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com