2015-02-21 3 views
1

иерархии страницы выглядит следующим образом:AngularJS: Форма ввода не работает внутри частичной

<div ng-include="'partials/navbar.html'"></div> 
<div ng-view></div> 
<div ng-include="'partials/footer.html'" id="footer"></div> 

Это основной файл index.html, который также содержит все источники сценариев.

В нг-зрении, есть еще один показатель, который использует заголовок частичный:

div ng-include="'partials/header_search.html'"></div> 

Это header_seatch парциального содержит угловую на основе ввода-форму

<form name="searchLocation" ng-submit="search()"> 
     <div class="input-group"> 
     <input type="text" name="location" ng-model="location" ng-autocomplete ng-change="error = false"/> 

     <div class="input-group-addon"> 
      <button type="submit">Search</button> 
     </div> 
     </div> 
     <span ng-if="error">No such address</span> 
    </form> 

И здесь приходит вопрос у меня - следующий вид не реагирует, если помещено внутри частичного частица. Когда я копирую/вставляю его в индексный вид, все работает отлично. Имеет ли углова какая-либо путаница с ng-материалом, помещенным в частичные? Что мне следует изменить, чтобы заставить его работать внутри частичного заголовка?

Заранее благодарен!

ответ

0

ng-include имеет свой собственный масштаб, который ужасно запутан. Я бы рекомендовал заменить директивы ng-include директивами.

В противном случае это должно работать:

<form name="searchLocation" ng-submit="$parent.search()"> 
<div class="input-group"> 
<input type="text" name="location" ng-model="$parent.location" ng-autocomplete ng-change="error = false"/> 
    <div class="input-group-addon"> 
     <button type="submit">Search</button> 
    </div> 
    </div> 
    <span ng-if="$parent.error">No such address</span> 
</form> 

Пожалуйста, обратите внимание, используя $ родитель плохой практикой и следует избегать.

+0

Теперь это работает! Большое спасибо. Должен признаться, это очень запутанно, что ng-include относится к разной сфере! – DCDC

+0

Да, поэтому я предпочитаю использовать директивы. Если вы можете переключиться на директиву. –

+0

Это, вероятно, более надежное решение, но на данный момент код, который вы предоставили, полностью соответствует моим требованиям. – DCDC