angularjs - angularjs - 在没有路由/ng-view 的情况下实现路由的解析功能
问题描述
在一个大型应用程序中,我现在需要异步访问一些数据(json api 调用)(之前,这些数据是同步访问的)。我不希望现在必须更改组件实现来处理这种异步行为(风险太大)。
我想到了 $routeProvider 的“解决”功能(带有承诺),它有助于将这种异步行为从组件/控制器中抽象出来。
不幸的是,我绝对没有以任何方式使用路由。
有没有实现呢?如果没有,我可以从哪里开始?
编辑:
我以前是怎样的(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();
}
}
});
希望这可以帮助 :)
解决方案
推荐阅读
- java - Android API 级别低于 24 的画中画模式
- javascript - 如何使用 Javascript 或 jQuery 从 iFrame 获取控件
- arrays - Perl:为 DNA 序列的对数得分创建和操作数组的散列
- r - 在一列地址上使用地理编码 - 不将它们识别为位置
- reactjs - React-final-form 忽略字段验证属性更改
- java - Lombok 安装程序弹出窗口阻止我运行构建
- c# - 无论如何要为单个 [TestMethod] 覆盖 [TestCleanup]?
- mysql - 如何为自动更新创建触发器
- c# - 如何使用 Google Speech cloud api 识别不同的说话者?
- django - 无法使用扩展用户模型正确保存数据