【问题标题】:AngularJS routing, wrong linkAngularJS路由,错误的链接
【发布时间】:2015-09-16 12:51:27
【问题描述】:

我正在尝试学习 AngularJS 路由,但遇到了一个小问题。

我正在计算机上处​​理一个简单的 HTML 文件(这意味着 Url 看起来像 file:///C:/Users ...)

我不知道在/ 模板中的链接中添加什么内容才能使其正常工作。我试过home/home#home#/home ...但似乎没有任何效果。

你能帮帮我吗?

这里是文件: (route1.html 只包含一个输入)

HTML 文件

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js"></script>
<!doctype html>
<html ng-app="myApp">
	<head>
		<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js"></script>
		<script src="js/main2.js"></script>
	</head>
	<body>
		<div ng-view>
		</div>
	</body>
</html>

JavaScript 文件

var app = angular.module('myApp', []); 

app.config(['$routeProvider', function($routeProvider) {

	$routeProvider
	
	.when('/', {
		controller: 'HomeController', 
		template: '<h1>Hey</h1><a href="#/home">Go to home</a>'
	}).otherwise({redirectTo: '/'})
	
	.when('/home', {
		controller: 'HomeController', 
		templateUrl: 'route1.html'
	})
}]);

app.controller('HomeController', function($scope) {
	$scope.name = 'John';
});

【问题讨论】:

标签: html angularjs angularjs-routing


【解决方案1】:

AngularJS 路由隐式使用 Ajax 来访问新 URL 并为您提供相应的视图。所以如果你想测试你的路由,你需要一个服务器来提供这个页面(可以很容易地设置一个轻量级的 apache 或 node.js 静态服务器)。

this thread有更多关于它的讨论。

【讨论】:

    【解决方案2】:

    我通过添加最新的angular.js V1.4.5angular.route.js 相同版本解决了您的问题。并在main2.js 中进行了如下更改

    var app = angular.module('myApp', ['ngRoute']); 
    

    休息很好,谢谢。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-24
      • 2021-11-22
      • 1970-01-01
      • 2015-02-25
      • 2017-07-28
      相关资源
      最近更新 更多