Javascript 角度路线无错误但不工作

Javascript 角度路线无错误但不工作,javascript,angularjs,angular-ui,angular-ui-router,Javascript,Angularjs,Angular Ui,Angular Ui Router,这很简单,但我不知道怎么了。我有以下示例,使用angular ui router和angular 1.2.16制作一个简单的web模板 <script type='text/javascript' src='angular.js'></script> <script type='text/javascript' src='angular-ui-router.js'></script> <script type='

这很简单,但我不知道怎么了。我有以下示例,使用angular ui router和angular 1.2.16制作一个简单的web模板

     <script type='text/javascript' src='angular.js'></script>
     <script type='text/javascript' src='angular-ui-router.js'></script>
     <script type='text/javascript' src='js/me/app.js'></script>
而index.html是

    <body ng-app="app">
           <header ng-include="'header.html'"></header>
            <!-- End of Header -->
           <div ui-view="''"></div>
           <footer ng-include="'footer.html'"></footer></body>

我的页眉和页脚工作正常。这是很好的第一步。但当我尝试路线时,什么也没发生


在我的控制台中没有任何错误。。我不明白,怎么了?我认为这很简单。也许是因为我是个新手。因此,如果您可以提出解决方案,请提供帮助。

状态更改错误通常不会显示在控制台中。您需要添加一个类似这样的错误监听器,以便查看出了什么问题:

$rootScope.$on('$stateChangeError', function(event, toState, toParams, fromState, fromParams, error) {
  $dialogs.error("Something went wrong!", error);
  console.error("$stateChangeError: ", toState, error);
});

很可能您的模板不在指定的位置或类似位置。

我的问题是我的url中的路径不正确:

检查网址<代码>http://example.com/#/未注册,$stateProvider不会告诉您这是错误的

我只需从我的URL中删除“
/#/

我想在某个地方添加了一个散列,但我遇到了与OP相同的问题:页眉和页脚都很好,但里面什么都没有

不知道开发人员为什么会这样做,当你进入一个未注册的路径时,它不会给出任何错误或任何不好的事情发生的迹象,但是你去了


如何永久解决此问题:
$stateProvider
覆盖
$urlProvider
,因此
。否则
将无法工作

添加
否则
状态:

/// OP's code ///
$stateProvider
  .state('home',{
    url:'/',
    templateUrl:'home.html'
  })                       
  
                              // Just add a new state
  .state('otherwise',{
    url:'*path',              // uses regex, and doesn't mess up preceding state urls
    templateUrl: 'home.html'  // sends the user back home if a bad url happens
  })

响应使用
$rootScope
虽然他的回答没有提供任何路径不正确的迹象,但我能够找到他的答案:

var app = angular.module(...); // can't inject $rootScope here except through providers (e.g., $httpProvider)
app.config(...);               // nor here

// define app.run() after configuration

app.run(function($rootScope){
    $rootScope.$on('$stateChangeError', function(event, toState, toParams, fromState, fromParams, error) {
      $dialogs.error("Something went wrong!", error);
      console.error("$stateChangeError: ", toState, error);
    });
})

你能试着换一个吗。这是默认路线,应该用home.html填充。仍然不能使用@rajasaurThanks来更正我的英语。事实上,我的英语不是很好@j、 wittwerTry这个:
把这个代码放在哪里?我找不到任何合适的地方可以使用
$rootscope
进行注入…谢谢,这是一个很棒的提示!值得注意的是,$dialogs引用对于那些不使用它的人来说有点混乱。@eposodex:我把我的放在主模块的run()函数中。
var app = angular.module(...); // can't inject $rootScope here except through providers (e.g., $httpProvider)
app.config(...);               // nor here

// define app.run() after configuration

app.run(function($rootScope){
    $rootScope.$on('$stateChangeError', function(event, toState, toParams, fromState, fromParams, error) {
      $dialogs.error("Something went wrong!", error);
      console.error("$stateChangeError: ", toState, error);
    });
})