当我开始使用不同控制器的ng-repeat时,我的指令停止了工作。我究竟做错了什么?

时间:2014-08-18 00:11:48

标签: angularjs twitter-bootstrap angularjs-directive angularjs-scope angularjs-ng-repeat

所以我遵循了这个指南,所以我可以在每个页面上都有一个导航栏:http://tomaszdziurko.pl/2013/02/twitter-bootstrap-navbar-angularjs-component/

它正在工作,直到我创建了一个单独的控制器来填充我的bootstrap轮播。问题是,我的ng-repeat工作正常,但是当它发生时,我无法在该页面上看到我的导航栏。我可以在其他页面上看到它。我相信这是一个范围问题,但我不确定在哪里。

这是我在本页正文中的内容:

<body>
    <reusable-navbar></reusable-navbar>

    <!-- Carousel Start -->
    <div id="main-carousel" class="carousel slide container" data-ride="carousel">
      <!-- Wrapper for slides -->
      <div class="carousel-inner">
        <!--Must set this by hand-->
        <div class="item active">
                <img alt="" src="../Revamp/Images/carousel/1.jpg">
        </div>
        <!--Repeat through the rest-->
        <div ng-controller="carouselPhotoController">
            <div class="item" ng-repeat="source in source">
                    <img alt="" ng-src="{{source.source}}">
            </div>
        </div>
      </div>
    </div>

我的控制器看起来像这样:

var carouselPhotoController=angular.module("revampApp", []);

carouselPhotoController.controller("carouselPhotoController", function($scope, $http){
    $http.get('../Revamp/Images/carousel/photos.json').success(function(photos){
        //Carousel photos
        $scope.source = photos;
    })
});

该指令与其中的指令完全相同,只是使用不同的模板。那么我怎么得到它所以我的导航栏会出现,我可以使用ng-repeat?

1 个答案:

答案 0 :(得分:2)

确保您没有重新创建该应用。

这会创建一个新应用:

var carouselPhotoController=angular.module("revampApp", []);

但这仅访问已创建的应用程序(注意缺少第二个参数):

var carouselPhotoController=angular.module("revampApp");

更改上面一行,它应该有用。