我正在尝试生成新路线。这些是我的文件:
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
答案 0 :(得分:0)
州&#34;项目语言&#34;根本不存在。你称它为#34; language.talen&#34;。
尝试
function openLanguage() {
$state.go("language.talen");
}