javascript - AngularJS:输入表单在部分内部不起作用

标签 javascript html angularjs

页面的层次结构如下:

<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/

相关文章:

javascript - 通过 Javascript 插入的 Google API

javascript - 将对象从 View 页面传递到 Spring Controller

javascript - JQuery Datepicker 反转下一个和上一个按钮事件

javascript - Jquery datepicker月/年菜单问题

javascript - 部分未排列到顶部

php - 尝试从数据库 jquery 检索用户名

javascript - 如何使用reduce、pipe和combinelatest求和?

javascript - AngularJS Json 对象数组

javascript - 当超链接没有 href 时,如何导航到超链接所在的页面?

angularjs - 在 Angular 1.2 中使用 ngMessages