2015-06-20 80 views
0

我有一个奇怪的问题。当ng-view显示“观看游戏视图”,移动边栏直接,它的嵌套指令工作正常时,我创建了一个移动边栏指令(一个sibiling html元素指向另一个ng-directive元素) 。但是当我进入“添加用户视图”时,移动边栏指令停止工作。我在调试时没有发现脚本错误。在ng视图中更改视图时,自定义指令不起作用,angularjs

开始菜单的Html

<div id="mainContainer" ng-controller="StartCtrl"> 
    <div id="menuContainer"> 
    <mobile-side-bar menu-id="{{menuIds}}" id="menu" class="hideElement"> 
     <div ng-include src="viewActions"></div> 
    </mobile-side-bar> 
    </div> 

    <div ng-view class="view-animate"></div> 

</div> 

<script type="text/ng-template" id="addUsers.html"> 
    <advertise-game player-search-spinner-on="playerSearchSpinnerOn"> </advertise-game> 
    <invite-friend></invite-friend> 
    <player-search></player-search> 
</script> 

mainMenuRoute

var mainMenuapp = angular.module('monopolyMenuModule', ['ngRoute', 'ngAnimate']); 
mainMenuapp.config(['$routeProvider', '$locationProvider', 
    function ($routeProvider, $locationProvider) { 
     $routeProvider 
     .when('/', 
      angularAMD.route({ 
       templateUrl: 'Js/MonopolyMenu/StartMenu.html', 
       controller: 'StartCtrl', 
       controllerUrl: 'MonopolyMenu/monopoly-menu' 
      }) 
     ) 
.when('/WatchGame', angularAMD.route({ 
     templateUrl: 'Js/MonopolyMenu/WatchGameMenu.html', 
     controller: 'WatchGameCtrl', 
     controllerUrl: 'MonopolyMenu/monopoly-menu' 
    }) 
    ) 
    .when('/RegisterUsers', angularAMD.route({ 
     templateUrl: 'Js/MonopolyMenu/AddUsers.html', 
     controller: 'AddUsersCtrl', 
     controllerUrl: 'MonopolyMenu/monopoly-menu' 
     //controllerAs: 'addUsers' 
    }) 
    ).otherwise({ redirecTo: "/" }); 

添加用户的Html 添加用户

<div spinner spinneron="playerSearchSpinnerOn" close-spinner-call-back="endUserSearch()"> 

</div> 

<div id="xs-userDetails" class="visible-xs list-group"> 

</div> 
<div class="actionButtonsBar"> 
    <div class="actionButtonsPadding"> 
     <a href="javascript:history.back()">Back</a> 
    </div> 
</div> 

添加用户按Ctrl

monopolyMenuModule.controller('AddUsersCtrl', ['$scope', 'GameGroupDetails', 'viewNamesEnum', function ($scope, GameGroupDetails, viewNamesEnum) { 

    // add code to call notifyUsers object.. watch pluralsight "connecting our server to client" and "how signalr works" 
    $scope.playerSearchSpinnerOn = false; 

    $scope.$parent.menuViewName = viewNamesEnum.AddUsersView; 

    $scope.$parent.viewActions = "addUsers.html"; 

    $scope.$parent.menuIds = "1"; 

    $scope.endUserSearch = function() { 
     // add code to remove gameDetails from list. 
    } 

}]) 

回答

0

正如你所使用的脚本模板与模板的名字被存储为addUsers.html URL中$templateCacheid="addUsers.html"。你需要在你的/RegisterUsers路线定义改变templateUrladdUsers.html

代码

.when('/RegisterUsers', angularAMD.route({ 
    templateUrl: 'addUsers.html', //<-- change here 
    controller: 'AddUsersCtrl', 
    controllerUrl: 'MonopolyMenu/monopoly-menu' 
    //controllerAs: 'addUsers' 
}) 
+0

@rayabu它帮助你的? –

相关问题