Javascript 如何知道angularjs中的范围

Javascript 如何知道angularjs中的范围,javascript,angularjs,ionic-framework,Javascript,Angularjs,Ionic Framework,我已经创建了如下模板 <ion-header-bar class="bar-light bar-subheader bar bar-header item-input-inset"> <label class="item-input-wrapper"> <i class="icon ion-ios7-search placeholder-icon"></i> <input type="search"

我已经创建了如下模板

<ion-header-bar class="bar-light bar-subheader bar bar-header item-input-inset">
      <label class="item-input-wrapper">
        <i class="icon ion-ios7-search placeholder-icon"></i>
        <input type="search" ng-model="search" placeholder="select city...">
        <button ng-if="search.length" class="customIcon button button-icon ion-close-circled input-button"></button>
      </label>
      <button class="button button-clear">Cancel</button>
    </ion-header-bar>

问题是
ngIf
指令创建了一个新的子作用域,因此
search='
成为本地子作用域属性
search
,它与您所追求的父作用域
search
模型无关

最简单的修复方法是使用
ngShow
,它只隐藏按钮,但处理相同的范围:

<button ng-show="search.length" ng-click="search=''" class="customIcon button button-icon ion-close-circled input-button"></button>


您还可以通过父范围引用来克服它:
ng if=“search.length”ng click=“$parent.search=”
,但不建议这样做

谢谢大家的帮助。
但我找到了解决方案,它表明按钮ng click在标签内不起作用,因此我将标签更改为div,开始工作。请解释您正在尝试做什么。我正在尝试清除/重置我的文本框。请参考此文本框,然后您可能应该构建一个演示,因为这就是我描述的。您好,它在plnkr中工作,它的行为不同。我可以把文件寄给你,你可以检查一下吗
<button ng-show="search.length" ng-click="search=''" class="customIcon button button-icon ion-close-circled input-button"></button>