我是AngularJS的新手,所以任何提示都会受到欢迎,因为我仍然试图了解一切是如何运作的。
以下控制器内置了其他控制器,但是我已经缩短了代码以复制我的问题而没有内部段(一旦我添加它就会有更多错误)。
这是我的html部分:
<div ng-app="app">
<div class="ng-cloak" ng-controller="mainController">
<a ng-class="{active: ('sectionHome' | routeSegmentStartsWith)}" href="#{{'sectionHome' | routeSegmentUrl}}">Home</a>
<div id="content" style="">
<div app-view-segment="0"></div>
</div>
<div id=loading class=alert ng-show="loader.show">Loading...</div>
</div>
</div>
和javascript:
var app = angular.module('app', ['ngRoute', 'ngAnimate', 'route-segment', 'view-segment']);
app.config(function($routeSegmentProvider, $routeProvider) {
$routeSegmentProvider.options.autoLoadTemplates = true;
$routeSegmentProvider
.when('/Home', 'sectionHome')
.segment('sectionHome', {
'default': true,
templateUrl: '../templates/sHome.html',
controller: 'mainController'})
$routeProvider.otherwise({redirectTo: '/Home'});
}) ;
app.value('loader', {show: false});
app.controller('mainController', function($scope, $routeSegment, loader) {
$scope.$routeSegment = $routeSegment;
$scope.loader = loader;
$scope.$on('routeSegmentChange', function() {
loader.show = false;
})
});
我要么缺少一些概念性的东西或其他一些重要的东西,因为当我检查链接时,似乎未在html文档中设置范围绑定并且我仍然使用&#34; ng-class =& #34; {active:(&#39; sectionHome&#39; | routeSegment ...&#34;。
我已经尝试在jsFiddle中编辑代码(http://jsfiddle.net/3boccdu6/)但是我收到了错误 &#34; .. [$ injector:nomod]模块&#39; app&#39;不可用!您要么错误拼写了模块名称,要么忘记加载它。&#34;
这是有道理的,但我真的不确定我做错了什么,我一直在关注这个工作示例: http://angular-route-segment.com/src/example/#/section3
答案 0 :(得分:0)
将以下内容添加到您的html将解决此问题。
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.6/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.6/angular-resource.min.js">
</script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.6/angular-route.min.js">
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-route-segment/1.4.0/angular-route-segment.min.js">
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.0/angular-animate.min.js">
</script>
<script src="app.js"></script>