Maux de tête avec la dynamique ng-inclure

Je sais que ng-view est le mieux pour ce type de problème, mais je suis déjà en train de l'utiliser pour charger dynamiquement un auth vs dashboard modèle, donc je suis coincé à l'aide de ng-includes.

Fondamentalement, une fois que je charge la dashboard modèle avec ng-view, j'ai un onglet de contrôle qui devrait changer les ng-include selon l'onglet est actif. Cependant, je ne peux pas pour ma vie, figure comment changer la ng-inclure selon l'onglet sélectionné. Comme pour info, super nouvelle Angulaire, la plupart du temps JQuery gars, (et oui, je sais que je devrais éviter d'utiliser JQuery w/Angulaire afin que je puisse maître Angulaire, mais je suis à bout de ressources avec cette chose).

Voici mon onglet de contrôle:

myApp.controller('TabsCtrl', ['$scope', function ($scope) {
  $scope.tabs = [{
      url: '#/dashboard/one'
    }, {
      url: '#/dashboard/two'
    }
  }];

  $scope.activeTab = '#/dashboard/one';

  $scope.onClickTab = function(tab) {
    $scope.activeTab = tab.url;
  }

  $scope.isActiveTab = function(tabUrl) {
    return tabUrl == $scope.activeTab;
  }

  $scope.dashboard.url = {};
  if($scope.activeTab === '#/dashboard/one') {
    $('ng-include').attr('src', 'dashboard/one.html');
  }
  if($scope.activeTab === '#/dashboard/two') {
    $('ng-include').attr('src', 'dashboard/two.html');
  }
  }]);

Et voici le code html:

<div id="wrapper" ng-controller="TabsCtrl">
  <div id="sidebar-wrapper">
    <ul class="sidebar-nav">
      <li ng-repeat="tab in tabs" 
          ng-class="{active_tab:isActiveTab(tab.url)}" 
          ng-click="onClickTab(tab)">
        <a href="{{tab.url}}">
          <div class="tab-icon">
            <i ng-class="tab.icon"></i>
          </div>
          <div class="tab-label">{{tab.label}}</div>
        </a>
      </li>
    </ul>
  </div>
  <div id="page-content-wrapper">
    <div class="page-content">
      <ng-include src=""></ng-include>
    </div>
  </div>
</div>

@hasH: j'ai essayé de faire quelque chose le long de ces lignes, mais $scope.dashboardPath.url ne semble pas être le réel src="dashboardPath.url".

var path = currentPath;//Retrieve it.
$scope.dashboardPath={};
if(path==='/dashboard/one')
    $scope.dashboardPath.url='pageOne.html';
if(path==='/dashboard/two')
    $scope.dashboardPath.url='pageTwo.html';
  • Donc, vous n'êtes pas en mesure de s'initialiser correctement je suppose ?
  • Hahaha, ouais... en cours d'exécution dans les questions. Bienvenue à aider l'angle de débutant. Je ne pouvais pas l'initialiser correctement, je pense que parce que ng-include crée un nouveau champ d'application, de sorte que je ne pouvais pas comprendre où le code d'initialisation de il devrait aller. J'ai essayé de le mettre dans la TabCtrl, mais ne pouvait pas trouver comment accéder à la src attribut.
  • Permettez-moi d'essayer de nouveau. Pour ce qui est de résoudre les problèmes. C'est ce qui est DONC pour.
InformationsquelleAutor sir_thursday | 2014-06-10