Javascript 角度ui路由器不工作
我有index.html,我可以加载它,但angular ui router没有将它路由到正确的templateURl(app.html与index.html位于同一个Derectoy中)。我已经添加了所有必需的脚本,但它不工作Javascript 角度ui路由器不工作,javascript,angularjs,angular-ui-router,Javascript,Angularjs,Angular Ui Router,我有index.html,我可以加载它,但angular ui router没有将它路由到正确的templateURl(app.html与index.html位于同一个Derectoy中)。我已经添加了所有必需的脚本,但它不工作 <!DOCTYPE html> <html ng-app ="mustReadAlgo"> <head> <title>AngularJS Basic Example</title>
<!DOCTYPE html>
<html ng-app ="mustReadAlgo">
<head>
<title>AngularJS Basic Example</title>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="stylesheet" href="lib/css/bootstrap.min.css" />
<link rel="stylesheet" href="lib/css/animate.min.css" />
<script type='text/javascript' src="public/lib/moment.min.js" charset="UTF-8"></script>
<script type='text/javascript' src="../../public/lib/lodash.min.js" charset="UTF-8"></script>
<script type='text/javascript' src="../../public/lib/angular/angular.min.js" charset="UTF-8"></script>
<script type='text/javascript' src="../../public/lib/angular-sanitize/angular-sanitize.min.js" charset="UTF-8"></script>
<script type='text/javascript' src="../../public/lib/angular-ui-router/release/angular-ui-router.min.js" charset="UTF-8"></script>
<script type='text/javascript' src="../../app.js" charset="UTF-8"></script>
<script type='text/javascript' src="../../app/controllers/app.controller.js" charset="UTF-8"></script>
</head>
<body>
<div class="container" ui-view="" ></div>
</body>
</html>
控制器代码在app.controller.js中
angular.module('mustReadAlgo').controller('mustReadAlgoCntrller',function($scope)
{
$scope.message='Hello World';
console.log('inside controller');
});
app.html的内容
<div class="row">
<div class="col-xs-2">
<button class="form-control btn btn-default"><span class="glyphicon glyphicon-thumbs-up"></span>Hello World</button>
</div>
<p>Hello</p>
</div>
你好,世界
你好
但是ui路由无法正常工作以加载templateUrl?
谁能帮我一个忙吗?我是angular js的新手。如果你要直接传递HTML作为模板,你需要使用
模板:
,而不是模板URL:
您需要在状态配置中为Others定义状态,并在$urlRouterProvider.Others函数中使用statename
$stateProvider
.state("otherwise", { url : '/'})
$urlRouterProvider.otherwise('/otherwise');
在控制器中注入$state,这将解决问题。 更清楚地说-
angular.module('mustReadAlgo', ['ui.router']).controller('mustReadAlgoCntrller',['$scope', '$state', function($scope, $state)
{
$scope.message='Hello World';
console.log('inside controller');
}]);
尝试使用:
<div class="container">
<ui-view></ui-view>
</div>
//而不是:
<div class="container" ui-view="" ></div>
这看起来不像URL。是的,但它应该可以工作。这是一个html代码,所以它应该显示出来。即使我在那里使用任何URL,它也不工作。比如说,如果我将模板URL添加为'app.html',它与index.html位于同一位置。你有任何错误吗?“mustReadAlgoCntrller”中可能有输入错误?谢谢你的帮助。我没有发现任何错误。我检查过没有输入错误。在编辑中也添加了控制器代码。为什么要同时包括angular.ui.router.js的常规版本和最小化版本?另外,可能会显示app.html
的内容。谢谢,我会尝试。很抱歉,我将问题编辑为使用templateUrl。我尝试使用template to,但效果不好。这将如何帮助解决问题?OP未在mustReadAlgoCntrller
控制器内使用$state
。在源代码中的view指令定义处,您可以阅读restrict:“ECA”。在文档中是使用抽象视图时的参考。
<div class="container" ui-view="" ></div>