页面的层次结构如下:
<div ng-include="'partials/navbar.html'"></div>
<div ng-view></div>
<div ng-include="'partials/footer.html'" id="footer"></div>
这是主index.html,其中还包含所有脚本源。
在 ng-view 中,还有另一个使用 header 部分的索引:
div ng-include="'partials/header_search.html'"></div>
此 header_seatch 部分包含基于 Angular 输入表单
<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>
这就是我遇到的问题 - 当放置在标题部分内时,以下表单没有响应。当我将其复制/粘贴到索引 View 中时,一切都工作得很好。 Angular 与放置在部分中的 ng-stuff 是否有任何混淆?我应该修改什么才能使其在 header 部分内工作?
提前致谢!
最佳答案
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>
请注意,使用 $parent 是不好的做法,应该避免。
关于javascript - AngularJS:输入表单在部分内部不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28645579/