AngularJS -添加ng-view时不工作
AngularJS - Not working when adding ng-view
这是我的index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1.0 ,user-scalable=no">
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.19/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.19/angular-route.js"></script>
<script src="app.js"></script>
<title>TESTS</title>
</head>
<body ng-app="testApp">
<a href="#link">Testing angularjs routing</a>
<div ng-view>{{message}}</div>
<div ng-controller="TestController">{{message}}</div>
</body>
</html>
这里是app.js:
var testApp = angular.module('testApp', ['ngRoute'])
.config(function($routeProvider) {
$routeProvider
.when('/', {
templateUrl:'index.html',
controller: 'TestController'
}).when('/link', {
templateUrl:'link.html',
controller:'LinkController'
});
});
testApp.controller('TestController', function ($scope) {
$scope.message = "INDEX";
});
testApp.controller('LinkController', function ($scope) {
$scope.message = "LINK";
});
我试图使路由工作,但我的链接根本不可点击,尽管它看起来像一个正常的链接。第二条消息显示"INDEX",所以我认为ng-view
有问题,因为如果我删除ng-view
链接再次成为可点击的!我完全不知道怎么了!
你的代码有很多地方不对。
实际上,不是你的链接不起作用,而是你引入了一个无限循环导致浏览器崩溃。这是因为当路由是'/'时,你把视图指向'index.html'。
当你开始加载index.html,然后在它的ng-view中加载index.html,然后在它的view中加载index.html,然后再加载index.html。车轮也是如此…
你的ng-view中也有一些内容,这些内容将被你加载的实际视图所替换。
最后你在视图和index.html中使用你的TestController,这不是非法的,但我怀疑它在任何应用程序中都有很大的意义…但我也可能错了。
所以总的来说,它有点乱。下面是一个工作示例:http://plnkr.co/edit/MrdAKu86S3RoreQhO14H?p=preview
var testApp = angular.module('testApp', ['ngRoute'])
.config(function($routeProvider) {
$routeProvider
.when('/', {
templateUrl:'home.html',
controller: 'TestController'
}).when('/link', {
templateUrl:'link.html',
controller:'LinkController'
});
});
testApp.controller('TestController', function ($scope) {
$scope.message = "INDEX";
});
testApp.controller('LinkController', function ($scope) {
$scope.message = "LINK";
});
和
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1.0 ,user-scalable=no">
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.19/angular.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.19/angular-route.js"></script>
<script src="script.js"></script>
<title>TESTS</title>
</head>
<body ng-app="testApp">
<a href="#/">Home</a>
<a href="#/link">Testing angularjs routing</a>
<div ng-view></div>
</body>
</html>
相关文章:
- 如何为通过ng-view指令或ng-controller指令创建的每个新作用域设置侦听器
- ng-view 中的脚本在从文件引用时不起作用(JQuery 在角度之前加载)
- ng-animate 当 ng-view 通过路由更新时
- ng-view 无法呈现
- 在 $location.path() 更改后的另一个 ng-view 中触发事件
- 在AngularJs中无法加载ng-view
- AngularJS 1.3 - 错误:错误:modulerr 模块错误(使用 ng-view,$routeProvide
- 在路由配置中定义 AngularJS 中的 ng-view 动画
- AngularJS无法从ng-view访问ng-click
- angularjs ng-view - jQuery 插件问题 - 需要建议
- ng-view - 模板页面中的加载控制器
- ng-view在AngularJS中不起作用
- Defining ng-view="NAME" from RouteProvider
- 引导切换复选框在 ng-view 中不起作用
- .js没有应用于ng-view
- 我试图创建一个简单的angularjs项目,但ng-view不工作
- 我无法让ng-view正常工作
- Ng-view工作不正常
- Angular的ng-view不能与express一起工作
- AngularJS -添加ng-view时不工作