2015-05-02 1 views
0

Мой проект основан на раме с угловым материалом (в основном: угловые + веб-компоненты в дизайне материалов).Ошибка «multidir» AngularJS при использовании ng-include и msSidenav в угловом материале

Проблема у меня в том, что по какой-то причине одной директивы (мкр-sidenav) вызывает multidir ошибку.

<md-sidenav layout="column" class="md-sidenav-left" md-component-id="left" md-is-locked-open="false" ng-controller="sideMenuController"> 
</md-sidenav> 

Я уверен, что мкр-sidenav является плохим парнем, так как я пытался заменить его другой директивы и получил не выпускать вообще. Я также уверен, что эта директива больше нигде не используется в проекте, ни связанный с ней контроллер.

Я также заметил эта ошибка появилась после того, как я переключился на вложенный макет (т. Е. Ng-includes в главном представлении), но так как я сделал несколько других изменений в проекте, я не могу быть уверен, что это фактическая причина ,

Я создал Plunkr, чтобы показать проблему. На самом деле это не работает, потому что я понятия не имею, как включить ngRoute, поскольку CDN недоступен (не стесняйтесь редактировать Plukr).

http://plnkr.co/edit/M52I7pn8D4fUaGAlOMtn

+0

Я не вижу в вашем коде какой-либо боковой навигатор, вот рабочий плкер http://plnkr.co/edit/yuvtrPs3csAQZW7OF06O? p = preview – Sajeetharan

+0

Это моя ошибка. По какой-то причине я вставил неверный планк. пожалуйста, ознакомьтесь с моим обновленным вопросом – dragonmnl

ответ

1

Существовали две ошибки, вы не поставить ссылку как текст/JavaScript для angualr маршрута сценария

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.js" type="text/javascript"></script> 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular-route.js" type="text/javascript"></script> 

встроить sidenav внутри DIV, так как он уже имеет директива для него,

<div ng-controller="sideMenuController"> 
<md-sidenav layout="column" class="md-sidenav-left" md-component-id="left" md-is-locked-open="false" > 
</md-sidenav> 
</div> 
+0

спасибо вам большое. оно работает! Не могли бы вы объяснить мне, в чем разница между размещением контроллера inline и встроенным? Поскольку мой контроллер полностью пуст (т. Е. Ничего не делает), я не понимаю, в чем проблема – dragonmnl

Смежные вопросы