2016-04-28 9 views
1

を使用した後に動作しませんが、今、私はちょっとこだわって。私はメニューバーから始めました。AngularJSドロップダウンはもはやだから、私はAngularJSで遊んだディレクティブ

すべてのメニュー項目をテンプレート+コントローラに読み込むカスタムディレクティブを作成しました。

HTMLインデックス

<!DOCTYPE html> 
<html lang="en-us" ng-app="someApp"> 
<head> 
    <meta charset="utf-8"> 
    <title>Magazijn</title> 
    <base href="/"> 
    <!-- Stylesheets --> 
</head> 
<body> 
<main-menu></main-menu> 

<div id="page-wrapper" ng-class="globals.currentUser == null ? 'max' : ' '"> 
    <div id="page-inner"> 
     <div class="container"> 
      <div ng-view></div> 
     </div> 
    </div> 
</div> 

<!-- jQuery/Bootstrap/Morris --> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script> 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script> 
<script src="https://cdnjs.cloudflare.com/ajax/libs/metisMenu/2.5.0/metisMenu.min.js"></script> 
<script src="https://cdnjs.cloudflare.com/ajax/libs/raphael/2.1.0/raphael-min.js"></script> 
<script src="https://cdnjs.cloudflare.com/ajax/libs/morris.js/0.5.1/morris.min.js"></script> 
<script src="/assets/js/main.js"></script> 

<!-- Angular --> 
<script src="https://code.angularjs.org/1.5.4/angular.min.js"></script> 
<script src="https://code.angularjs.org/1.5.4/angular-route.min.js"></script> 
<script src="https://code.angularjs.org/1.5.4/angular-cookies.min.js"></script> 
<script src="/angular/app.js"></script> 
<script src="/angular/routes.js"></script> 

<!-- Services --> 
<script src="/angular/services/auth-service.js"></script> 
<script src="/angular/services/api-service.js"></script> 

<!-- Directives --> 
<script src="/angular/directives/menu-directive.js"></script> 

<!-- Controllers --> 
<script src="/angular/controllers/trucks-index-controller.js"></script> 
<script src="/angular/controllers/trucks-show-controller.js"></script> 
<script src="/angular/controllers/trucks-history-controller.js">  </script> 
<script src="/angular/controllers/monitor-controller.js"></script> 
<script src="/angular/controllers/messages-index-controller.js"> </script> 
<script src="/angular/controllers/login-controller.js"></script> 

JS

(function() { 
'use strict'; 

angular 
    .module('app') 
    .controller('menuCtrl' , ['$scope','$timeout', function($scope, $timeout){ 
     $scope.menu = { 
      "items" : [{ 
       "name" : "Dashboard", 
       "url" : "/", 
       "icon" : "fa fa-dashboard fa-3x" 
      }, 
      { 
       "name" : "TV Monitor", 
       "url" : "/monitor", 
       "icon" : "fa fa-television fa-3x" 
      },{ 
       "name" : "Trucks", 
       "url" : "", 
       "icon" : "fa fa-truck fa-3x", 
       "childs": [{ 
        "url" : "/trucks", 
        "name" : "Overview" 
       },{ 
        "url" : "/trucks/history", 
        "name" : "History" 
       }] 
      }] 
     }; 
    }]) 
    .directive('mainMenu' , function(){ 
     return { 
      restrict: 'E', 
      controller: 'menuCtrl', 
      templateUrl : '/templates/partial/nav.html' 
     } 
    })})(); 

HTML

<nav class="navbar-default navbar-side" role="navigation"> 
    <div class="sidebar-collapse"> 
     <ul class="nav" id="main-menu"> 
      <li ng-repeat="m in menu.items"> 
       <a href="{{m.url}}"><i class={{m.icon}}></i>{{m.name}} <span ng-if="m.childs.length > 1" class="fa arrow fa-2x"></span></a> 
       <ul class="nav nav-second-level collapse"> 
        <li ng-repeat="c in m.childs"> 
         <a href="{{c.url}}">{{c.name}}</a> 
        </li> 
       </ul> 
      </li> 
     </ul> 
    </div> 
</nav> 

そして、私は単純にディレクティブを呼び出すのindex.htmlに。

これはすべてドロップダウンを除いて問題なく動作します。私はすべてのコード@インデックスページを残すとうまく動作するmentisを使用していますが、指示文でHTMLをロードすると機能が停止します

このmentisは私が使用したライブラリです。この投稿は役立つはずhttps://docs.angularjs.org/api/ng/service/ $

をコンパイルします:

答えて

関連する問題