当前位置: 首页 > 面试题库 >

(change) vs (ngModelChange)的角度

巫马庆
2023-03-14
问题内容

Angular 1不接受onchange()事件,它仅接受ng-change()事件。

另一方面,Angular 2接受(change)(ngModelChange)事件,两者似乎都在做相同的事情。

有什么不同?

哪个最适合表现?

ngModelChange:

<input type="text" pInputText class="ui-widget ui-text"
    (ngModelChange)="clearFilter()" placeholder="Find"/>

vs change:

<input type="text" pInputText class="ui-widget ui-text" 
    (change)="clearFilter()" placeholder="Find"/>

问题答案:

(change) 事件绑定到经典输入更改事件。

即使您没有输入模型,也可以使用(更改)事件,如下所示:

<input (change)="somethingChanged()">

(ngModelChange)@OutputngModel指令的。模型更改时将触发。如果没有ngModel指令,则无法使用此事件。

当您在源代码中发现更多内容时,将(ngModelChange)发出新值。

因此,这意味着您具有这种用法的能力:

<input (ngModelChange)="modelChanged($event)">



modelChanged(newObj) {
    // do something with new value
}

基本上,两者似乎没有太大的区别,但是ngModel使用时事件会获得力量[ngValue]

  <select [(ngModel)]="data" (ngModelChange)="dataChanged($event)" name="data">
      <option *ngFor="let currentData of allData" [ngValue]="currentData">
          {{data.name}}
      </option>
  </select>



dataChanged(newObj) {
    // here comes the object as parameter
}

假设您尝试了没有“ ngModel事物” 的相同事物

<select (change)="changed($event)">
    <option *ngFor="let currentData of allData" [value]="currentData.id">
        {{data.name}}
    </option>
</select>



changed(e){
    // event comes as parameter, you'll have to find selectedData manually
    // by using e.target.data
}


 类似资料:
  • Angular 1不接受事件,它只接受事件。 另一方面,Angular 2接受和事件,这两者似乎在做同一件事。 有什么不同吗? 哪一个性能最好? NGModelChange: vs变化:

  • 问题内容: Angular 1不接受事件,它仅接受事件。 另一方面,Angular 2接受和事件,两者似乎都在做相同的事情。 有什么不同? 哪个最适合表现? ngModelChange : vs Change : 问题答案: 事件绑定到经典输入更改事件。 即使您没有输入模型,也可以使用(更改)事件,如下所示: 是ngModel指令的。模型更改时将触发。如果没有ngModel指令,则无法使用此事件。

  • 问题内容: 当前,我们可以通过几种方式监视数据更改。我们可以使用触发模型更改,并且可以向元素添加指令并对其绑定一些操作。 在许多情况下,这有点令人困惑,所以我很好奇,这是每个变体的优缺点,何时应该使用绑定,何时使用诸如?的指令? 问题答案: 两者和具有完全不同的用法: 假设您有一个在范围内定义的模型: 现在,如果您想在发生任何更改时执行某些操作,则可以使用: 是一个指令,当用户更改输入时将评估给定

  • 问题内容: 输入如下: 当我手动键入并更改输入时,将执行。但是,如果我以编程方式通过其他功能更改了repair.test值,则不会触发ng- change的操作。我已经阅读了角度教程,这可能是预期的行为。 https://docs.angularjs.org/api/ng/directive/ng更改 “当值更改来自模型时,不评估表达式。” <-我也需要这个。模型以任何方式更改时,如何在控制器中触

  • 问题内容: 我只想知道火热的使用方法。在控制器内,以下代码可以正常工作,并且在3秒后更新DOM: 但是通过使用 没发生什么事… 我以为他们做同样的事情。我怎么了? 问题答案: 并有一些异同。它们的相似之处在于它们都检查了更改内容并更新了UI并触发了所有观察程序。 两者之间的区别是它们的调用方式。被调用而没有任何参数。具有在执行任何更新之前将要执行的功能。 另一个区别是它们的影响。将更新当前范围和任

  • 我一直在寻找了解这 3 个: 主题 行为主体 重播主题 我想使用它们,并知道何时、为什么使用它们,使用它们有什么好处,尽管我已经阅读了文档、观看了教程并搜索了谷歌,但我对此没有任何理解。 那么他们的目的是什么?一个真实的案例将是最受欢迎的,它甚至不需要编写代码。 我更喜欢一个干净的解释,而不仅仅是“a b = 非常感谢。