相关疑难解决方法(0)

绑定和@ViewChild问题

这个问题可能是查看问题的最快方式

我不确定使用ViewChild时它是否只是一些明显的问题,但它很奇怪.

这个plunker显示3个输入:

  • 第一个输入是基本输入和可以对焦的按钮.
  • 第二个输入绑定到相同的值,单击编辑将解锁输入.
  • 第三个输入也绑定到相同的值,单击编辑将解锁输入并为其提供焦点.

但是,在添加ViewChild以获取对输入的引用时,输入上的NgModel绑定将停止工作.但是您附加的任何其他绑定(如已禁用)仍将继续运行.如果您注释掉app/extended.component的第52行,它将再次绑定,但显然现在它无法集中注意力.

第一个输入/按钮显示,当您绑定到正在扩展的类中的属性时,这显然只是一个问题.


简而言之,当我通过ViewChild访问输入时,我对NgModel的绑定中断.

也就是说,给定一个属性为"someValue"的基数:绑定:

@Component({
  selector: 'binding-working',
  template: `<input type="text" [(ngModel)]="someValue" />`
})
export class Working extends Base<string> {  
  constructor() { }
};
Run Code Online (Sandbox Code Playgroud)

不绑定:

@Component({
  selector: 'binding-broken',
  template: `<input type="text" #imBroken [(ngModel)]="someValue" />`
})
export class Broken extends Base<string> {  
  @ViewChild('imBroken') input;
  constructor() { }
};
Run Code Online (Sandbox Code Playgroud)

viewchild angular

1
推荐指数
1
解决办法
3237
查看次数

标签 统计

angular ×1

viewchild ×1