无法从状态角

时间:2016-09-28 09:48:07

标签: javascript angularjs html5 routing

我正在尝试生成新路线。这些是我的文件:

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 文件:

(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>

当我点击此链接时,我收到此错误:

无法解决&#39;项目语言&#39;来自州&#39;项目&#39;

我在谷歌和stackoverflow上搜索了很多,但我无法弄清楚我的解决方案。我在路线上做错了什么?

感谢您的时间。

更新:plunker

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

1 个答案:

答案 0 :(得分:0)

州&#34;项目语言&#34;根本不存在。你称它为#34; language.talen&#34;。

尝试

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