AngularJS和Angular-Route-Segment

时间:2015-02-11 08:40:36

标签: angularjs angularjs-routing

我是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

1 个答案:

答案 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>