2016-09-28 34 views
0

我正在嘗試生成新路線。這些都是我的文件:無法從狀態角度解析狀態

config.route.js

(function() { 
    'use strict'; 

    angular 
     .module('app.language') 
     .run(appRun); 

    appRun.$inject = ['routehelper']; 

    function appRun(routehelper) { 
     routehelper.configureRoutes(getRoutes()); 
    } 

    function getRoutes() { 
     return [{ 
     state: 'language', 
     config: { 
      abstract: true, 
      url: '/talen', 
      templateUrl: 'client/app/project-language/language.layout.html', 
      controller: 'LanguageLayout', 
      controllerAs: 'vm', 
      title: 'Talen', 
      handleSplash: true, 
      path: [] 
     } 
     }, { 

     state: 'language.talen', 
     config: {   
      url: '/talen', 
      templateUrl: 'client/app/project-language/project.language.html', 
      controller: 'ProjectLanguage', 
      controllerAs: 'vm', 
      title: 'Talen', 
      handleSplash: true, 
      path: [] 
     } 
     }] 
    } 
}) 

這是我language.layout.js文件:

(function() { 
    'use strict'; 

    angular 
     .module('app.language') 
     .controller('LanguageLayout', LanguageLayout); 

    LanguageLayout.$inject = ['$scope']; 

    function LanguageLayout($scope) { 
     var vm = this; 

     vm.states = [{ 
     ref: 'language.talen', 
     title: 'Talen' 
     }] 

     activate(); 


     function activate() { 

     } 
    } 

}) 

這是我project.language。 js file:

(function() { 
    angular.module('app.language') 
    .controller('ProjectLanguage', ProjectLanguage); 

    ProjectLanguage.$inject = ['$scope', '$state', '$stateParams', '$q', '$http', 'logger', 'initialData', 'dataservice']; 

    function ProjectLanguage($scope, $state, $stateParams, $q, $http, logger, initialData, dataservice) { 
     var vm = this; 

    } 

})(); 

我做了一個函數打開這個語言頁面:

function openLanguage() { 
     $state.go("project-language"); 
     } 

這些功能連接在HTML5頁面:

<li><a ng-click="vm.openlanguage()"><i class="fa fa-cogs fa-fw"></i>Settings</a></li> 

當我點擊這個鏈接,我得到這個錯誤:

無法從狀態「項目」中解析'項目語言'

我搜索過很多關於谷歌和stackoverflow,但我不明白我的解決方案。我在做什麼錯誤的路線?

謝謝你的時間。

UPDATE:plunker

https://plnkr.co/edit/bgUPAh7Z7dCFrTyRJNul?p=catalogue

回答

0

狀態 「項目語言」 根本不存在。你稱之爲「language.talen」。

嘗試

function openLanguage() { 
    $state.go("language.talen"); 
    } 
+0

你好老總Stragier感謝您的時間!我收到以下錯誤。無法從狀態'projects'中解析'language.talen' – Fearcoder

+0

您是否嘗試過這裏提供的解決方案? [鏈接](http://stackoverflow.com/a/31017768/5239782) 如果是這樣,請提供一個plunkr示例,以便我們可以更好地瞭解您的代碼。 –

+0

我添加了一個plunkr解決方案 – Fearcoder