Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 为什么$locationProvider.html5模式会导致无限$digest循环?_Angularjs - Fatal编程技术网

Angularjs 为什么$locationProvider.html5模式会导致无限$digest循环?

Angularjs 为什么$locationProvider.html5模式会导致无限$digest循环?,angularjs,Angularjs,如果我设置$locationProvider.html5Mode(true),我的应用程序将返回:10$digest()迭代次数。流产!(…)。下面是我的代码片段 我的路线配置: function configRoutes($stateProvider, $urlRouterProvider, $locationProvider, routeConfigProvider) { var routes = routeConfigProvider.$get(); $locationProvi

如果我设置
$locationProvider.html5Mode(true)
,我的应用程序将返回:
10$digest()迭代次数。流产!(…)
。下面是我的代码片段

我的路线配置:

function configRoutes($stateProvider, $urlRouterProvider, $locationProvider, routeConfigProvider) {
  var routes = routeConfigProvider.$get();

  $locationProvider.html5Mode(true);

  $urlRouterProvider.otherwise('/default');

  $urlRouterProvider.when('/', '/route1');
  $urlRouterProvider.when('/route1', '/route1/route11');
  $urlRouterProvider.when('/route2', '/route2/route22');

  // Register all routes.
  for (var i = 0; i < routes.length; i++) {
    var route = routes[i];
    $stateProvider
      .state(route.state, route.options);
  }
}
函数配置路由($stateProvider、$urlRouterProvider、$locationProvider、routeConfigProvider){
var routes=routeConfigProvider.$get();
$locationProvider.html5Mode(true);
$urlRouterProvider。否则('/default');
$urlRouterProvider.when('/','/route1');
$urlRouterProvider.when('/route1','/route1/route11');
$urlRouterProvider.when('/route2','/route2/route22');
//登记所有路线。
对于(变量i=0;i
我的web.config文件:

<rewrite>
  <rules>
      <rule name="Main Rule" stopProcessing="true">
        <match url=".*" />
        <conditions logicalGrouping="MatchAll">
            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
        </conditions>
        <action type="Rewrite" url="/" />
      </rule>
  </rules>
</rewrite>

不要使用

$urlRouterProvider。否则('/default')

替换为:

$urlRouterProvider.otherwise(function ($injector, $location) {
     var $state = $injector.get("$state");
     $state.go("default.state");
 });

将“default.state”替换为您的默认状态

以前由于其他原因不起作用,进行了其他更改,现在起作用了。谢谢你,它工作得很好!但是为什么我不应该使用
$urlRouterProvider。否则('/default')?@jobsuel当您将$urlRouterProvider.OR(“/default”)与$stateChangeStart组合使用时,这似乎是ui路由器的一个错误。此处报道的问题: