我試圖從應用程序中的一個狀態轉到另一個狀態時出現錯誤。無法解析狀態angularjs
我在一個索引文件中定義了所有的狀態。
index.js
var MyModule = angular.module('myApp.ui.moduleTest', [
'ui.router'
])
.config(function($stateProvider, modalStateProvider){
$stateProvider
.state('myApp.dashboard.appArea.moduleTest',
modalStateProvider.create({
animation: true,
name: 'myApp.dashboard.appArea.moduleTest',
url: 'apps/moduleTest',
controllerAs: 'moduleTestCtrl',
controller: 'ModuleTestCtrl',
windowClass: 'semi-modal semi-modal--huge',
templateUrl: function() {
return 'app/ui/apps/moduleTest/widget.html';
},
resolve: {
//Some function to retrieve data
}
})
)
.state('myApp.dashboard.appArea.moduleTest.wizards',
modalStateProvider.create({
animation: true,
name: 'myApp.dashboard.appArea.moduleTest.wizards',
url: 'apps/moduleTest/runWizard',
controllerAs: 'moduleTestWizardCtrl',
controller: 'ModuleTestWizardCtrl',
templateUrl: function(){
return 'app/ui/apps/moduleTest/wizard.html';
}
// resolve: {
//
// }
})
)
})
當我狀態很 「myApp.dashboard.appArea.moduleTest」 弗朗ModuleTestCtrl我試圖去國家「myApp.dashboard.appArea.moduleTest.wizards 「但是我得到錯誤」無法解決狀態「。如何在控制器中導入此配置模塊以導航到該狀態? 。
/*jslint node: true */
'use strict';
var angular = require('angular');
function ModuleTestCtrl($uibModalInstance, Api, diagnosticsRaw, myService, $state) {
this.$uibModalInstance = $uibModalInstance;
this.Api = Api;
this.dataRaw = diagnosticsRaw;
this.parserData = function(indexes) {
//Some app logic irrelevant
}
myService.setPropertyToRun(this.dataRaw);
myService.setIsPropertyToRun(true);
$state.go('myApp.dashboard.appArea.moduleTest.wizards'); //THIS IS WHERE I HAVE MY PROBLEM
};
}
ModuleTestCtrl $注入= [ '$ uibModalInstance',阿比', 'diagnosticsRaw', '爲myService', '$狀態']; module.exports = ModuleTestCtrl;
感謝您的答覆。我在我的應用中定義了不同文件夾和文件中的所有父路由。也許我錯過了需要或注射?我試圖以這種方式看待 – acostela
最後我解決了它。所有父路由都已定義,但其中一個父狀態未正確導入到我的內部腳本中。因爲結果嵌套狀態沒有創建。在現實中,這個答案是正確的,所以我會將它標記爲已解決。謝謝! – acostela