AngularJS 1.6路由无法正常工作

时间:2016-12-16 13:22:25

标签: javascript angularjs routing angularjs-1.6

我正在尝试创建我的第一个角度应用。但它根本不起作用。我不知道是什么问题。我检查了控制台,但没有错误。

<head>
 <meta charset="utf-8">
 <script src="https://code.angularjs.org/1.6.0/angular.min.js"></script>
 <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.6.0/angular-route.js"></script>
</head>
<body ng-app="myApp">
  <h1>Test angular</h1>
  <a href="#/">Main</a>
  <a href="#sec">Second</a>
  <a href="#th">Third</a>
  <div ng-view></div>
</body>

<script>
var app = angular.module("myApp", ["ngRoute"]);
app.config(function($routeProvider) {
  $routeProvider
  .when("/", {
      templateUrl : "main.html"
  })
  .when("/sec", {
      templateUrl : "sec.html"
  })
  .when("/th", {
      templateUrl : "th.html"
  });
});
</script>

任何人都可以帮助我吗?

5 个答案:

答案 0 :(得分:29)

Angular 1.6中的路由从#/myUrl更改为#!/myUrl

您应该将您的参考号更改为:

<a href="#!/">Main</a>
<a href="#!/sec">Second</a>
<a href="#!/th">Third</a>

如果要删除此前缀,请参阅this answer

答案 1 :(得分:4)

尝试将$ locationProvider添加到您的脚本

app.config(['$locationProvider', function($locationProvider) {
        $locationProvider.hashPrefix('');
        }]);

答案 2 :(得分:1)

我发现你没有正确地包含$routeProvider,这是工作路由代码:

app.config(['$routeProvider', function($routeProvider) {
  $routeProvider
  .when("/", {
      templateUrl : "main.html"
  })
  .when("/sec", {
      templateUrl : "sec.html"
  })
  .when("/th", {
      templateUrl : "th.html"
  });
}]);

答案 3 :(得分:1)

尝试使用此代码

transform

答案 4 :(得分:-3)

您需要修复您的href属性:

正确的方法是:

public function auth()
{
    // Authentication Routes...
    $this->get('login', 'Auth\AuthController@showLoginForm');
    $this->post('login', 'Auth\AuthController@login');
    $this->get('logout', 'Auth\AuthController@logout');
    // Registration Routes...
    $this->get('register', 'Auth\AuthController@showRegistrationForm');
    $this->post('register', 'Auth\AuthController@register');
    // Password Reset Routes...
    $this->get('password/reset/{token?}', 'Auth\PasswordController@showResetForm');
    $this->post('password/email', 'Auth\PasswordController@sendResetLinkEmail');
    $this->post('password/reset', 'Auth\PasswordController@reset');
}