当前位置: 首页 > 知识库问答 >
问题:

使用角度2更改值时调用方法

焦博实
2023-03-14

使用Angular 2更改值时,如何调用方法?

 <select [(ngModel)]="searchMonster">
     <option>36</option>
     <option>37</option>
 </select>

我尝试使用ng change,但没有成功。

共有2个答案

秦彦君
2023-03-14

基本上,根据我的观察,当我们必须使用双向数据绑定时,会调用[(ngModel)]。所以视图和控制器/方法是通过绑定调用的。我们可以使用[(ngModel)]作为[ngModel]和(ngModelChange)进行更改检测,但在这种情况下,onChange()会根据此处的答案为每个选择列表更改调用两次,但当您想在更改时调用方法时,您可以在此处使用这种方式:-

<select [(ngModel)]="selectedDevice" #device (change)="onChange(device.value)">
    <option *ngFor="#i of devices">{{i}}</option>
</select>

onChange(deviceValue) {
    console.log(deviceValue);
}

我发现这个问题的最佳答案是

闾丘昊然
2023-03-14

使用ngModelChange。检查模板语法文档。

试试这个

<select
  [ngModel]="searchMonster"
  (ngModelChange)="yourMethod($event)">
     <option>36</option>
     <option>37</option>
</select>

另一种选择与我合作

<select #option
  [ngModel]="searchMonster"
  (ngModelChange)="yourMethod(option.value)">
     <option>36</option>
     <option>37</option>
</select>    

 类似资料:
  • 我有一个父组件和子组件,其中父组件通过@Input修饰符将对象传递给子组件。问题是,子级只获取父级数据一次,然后在将来更改传递给子级的父属性后,不会更新该值。

  • 我的组件具有以下功能: 我可以在我的html页面中插入选择菜单,但更改事件不会在我选择项目时触发。有人能让我知道为什么会发生这种情况吗? 谢谢

  • 嗨,使用angular 2作为密码字段,我必须设置“密码应该至少有1个大写字母,1个小写字母,1个数字,1个特殊字符,最少8个字符,最多16个字符” 因为我已经完成了“最少8个字符,最多16个字符”。 但我无法为其余的东西设置至少1个大写字母,1个小写字母,1个数字,1个特殊字符。 请帮我一下 预先感谢

  • 甚至可以让服务调用组件方法吗? myapp.component myapp.service 这将导致一个

  • 问题内容: 我正在尝试制作一个小的桌面应用程序,该应用程序应显示剪贴板的内容(如果它是字符串)。我已经完成了一个构造函数,并且构造函数运行良好,现在,我只想在将文本复制到OS的剪贴板中时调用类似的方法。我对此很陌生,因此不胜感激!告诉我应该以某种方式使用中断… 问题答案: 您可以调用Clipboard.addFlavorListener来侦听来自操作系统的剪贴板更新: 一些注意事项: 要启动您的应

  • 问题内容: 我正在编写一个API解析Twitter机器人,对OOP来说是个新手。我有一些依赖于全局变量的现有Python代码,并认为我可以借此机会学习。 我有以下Team类,这些类在解析API时会更新,并且希望在类属性更改时能够调用完全不相关的(外部)方法。 对于现有实例,何时更改,我希望调用以下方法(伪代码): 两件事情 - 一旦检测到属性已更改,如何从班级内部调用? 我可以从任何地方访问对象的