angularjs - 实现路由的解析功能,无需路由/ ng-view

时间:2018-05-17 19:02:22

标签: angularjs asynchronous promise resolve

在一个大型应用程序中,我现在需要异步访问某些数据(json api调用)(之前,这些数据是同步访问的)。 我不想更改组件实现现在处理这种异步行为(风险太大)。

我想到了$ routeProvider的“解析”功能(带有promises),它有助于从组件/控制器中抽象出这种异步行为。

不幸的是,我绝对不会以任何方式使用路由。

是否有实施?如果没有,我可以从哪里开始?

修改

我以前是怎么回事(jsonData没有同步加载但由于systemJS功能,它是透明的,SystemJS,我们现在扔垃圾,因此问题): https://plnkr.co/edit/BSreVYNAr7sijYwEpb5G?p=preview

我现在的样子: https://plnkr.co/edit/WnX0ynOqkZsmEzIxl1SI?p=preview

观察控制台,查看现在可能出现的问题的示例。

我有点像这样工作,但我并不完全满意(观看配置块): https://plnkr.co/edit/P9Rv6rnboFlaFZ0OARNG?p=preview

$provide.value('$provide', $provide);
        $routeProvider.otherwise({
            template: '<test></test>',
            controller: function ($provide, myJsonData1) {
                $provide.value('myJsonData', myJsonData1);
            },
            resolve: {
                myJsonData1: function(){
                  return getMyJsonData();
                }
            } 
        });

希望这会有所帮助:)

0 个答案:

没有答案