angularjs - 升级 angular-ui-router 1.X:解决数据不工作
问题描述
我已将我的 Angular 版本升级到 1.7.8,并将 angular-ui-router 升级到 1.0.22。
升级后,我从路由器配置解析的数据不起作用(不再)。
路线配置:
$stateProvider.state('app', {
views: {
'@' : {
templateUrl: CONFIG.BasePath + '/article/views/layout.html'
},
'article@app': {
templateUrl: CONFIG.BasePath + '/article/views/index.html',
controller: 'ArticleController',
resolve : {
settings: function() {
return {
someValue: ''
};
},
deps: ['$ocLazyLoad', function($ocLazyLoad) {
// other code
}]
}
}
}})
控制器:
function MapController ($scope, settings) {
console.log(settings);
}
MapController.$inject = [
'$scope',
'settings'
];
当我尝试从 resolves 对象访问它时,它可以工作,但这不是我想要的方式......
function MapController ($scope) {
console.log($scope.myResolves.$state$.views['article@app'].resolve.settings());
}
MapController.$inject = [
'$scope'
]
解决方案
ui-router 1.0 不支持解析为视图:
我们不再处理在视图中声明的解析块。
您需要重写它并将解析移到状态上的解析块:
现在,将所有解析移到状态上的解析块:
阅读此处了解更多详细信息和示例:ui-router
推荐阅读
- google-play - 使用购买流程测试 Google Play 实时通知
- c# - XAML DataGrid 与 MultiSelect ComboBox 绑定
- java - 无法启动 Apache TomEE 服务器 - 未找到部署:openejb/Deployer
- c# - 如何从 Program.cs 文件中的 appsettings.json 文件访问数据库连接字符串
- wpf - 对 HTML 和 WPF 视图使用相同的 ViewModel
- pandas - 使用带有自己的函数和参数的 Pandas 数据框 groupby.filter
- c# - .NET Core 没有 OID 值与此名称匹配
- javascript - 节点登录错误:无法获取 /users/auth/login
- winapi - C++ Win32 API - CreateFont():文档示例令人困惑
- r - 在 R 中生成澳大利亚州/领地等值线?