Javascript 角度用户界面路由器不';没有默认状态,可以';我不能从它转变过来
我发现角度ui路由器有一些问题。当我点击一个用户界面时,我收到了一条信息Javascript 角度用户界面路由器不';没有默认状态,可以';我不能从它转变过来,javascript,angularjs,angular-ui-router,Javascript,Angularjs,Angular Ui Router,我发现角度ui路由器有一些问题。当我点击一个用户界面时,我收到了一条信息 "Error: Could not resolve 'X' from state '' transitionTo@http:/ 其中X是站点标题中的状态,我正试图转到该状态 我认为这意味着没有默认状态,但我不确定。无论如何,以下是我认为相关的文件部分: index.html <div class="container" ng-cloak> <a ui-sref="home"></a&
"Error: Could not resolve 'X' from state ''
transitionTo@http:/
其中X
是站点标题中的状态,我正试图转到该状态
我认为这意味着没有默认状态,但我不确定。无论如何,以下是我认为相关的文件部分:
index.html
<div class="container" ng-cloak>
<a ui-sref="home"></a>
<div ui-view></div>
</div>
app.config.js
angular.module('fTA')
.config(function($urlRouterProvider, $stateProvider) {
$urlRouterProvider.otherwise('/');
$stateProvider.state('home', {
url: '/',
template: '<p>This is home view</p>'
});
$stateProvider.state('login' {
url: '/login',
templateUrl: '/views/login.html',
controller: 'LoginCtrl'
});
});
角度模块('fTA')
.config(函数($urlRouterProvider,$stateProvider){
$urlRouterProvider。否则('/');
$stateProvider.state('home'{
url:“/”,
模板:“这是主视图”
});
$stateProvider.state('login'{
url:“/login”,
templateUrl:“/views/login.html”,
控制器:“LoginCtrl”
});
});
其中/views/login.html是我的目录中文件的路径名
我的理解是,既然urlRouterProvider
是“/”,那么我应该在“/”中看到这是主视图。但我没有。那么,我做了什么愚蠢的事情,以至于连硬编码的模板都不会出现。我只是-并且只改变了一件事:在“登录”之后添加逗号
$urlRouterProvider.otherwise('/');
$stateProvider.state('home', {
url: '/',
templateUrl: 'tpl.html'
});
// $stateProvider.state('login' {
$stateProvider.state('login', {
url: '/login',
templateUrl: 'tpl.html',
controller: 'LoginCtrl'
});
这一点现在正在发挥作用:
<a ui-sref="home">home</a>
<a ui-sref="login">login</a>
您是否尝试将状态从“/”重命名为“home”?@RadimKöhler是的,也是一样的。在这种情况下,X就是home。如果状态名称为“home”,那么ui sref=“home”应该可以工作。无论如何,我建议使用home而不是州名中的“/”。另外,(这里真的不确定),但是你的
ng是否会包括=“”`替换div的内容并删除
@RadimKöhler我认为不会。但我只是在没有ng包含的情况下对它进行了测试,并且在测试之前只有一个主页,我得到了相同的消息。我认为有一点似乎不同,那就是templateUrl。在plunker中,您有一个ng模板。templateUrl也是相对的吗?html?这是个好地方。。我肯定会说,试试:templateUrl:'views/login.html',而不带前导的slashThanks,谢谢你的帮助。问题是我没有在index.html中包含app.config.js。我知道这是件愚蠢的事。谢谢你的帮助。