Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular (角度)在输入文本事件绑定和双向绑定之间是否有任何性能改进?_Angular - Fatal编程技术网

Angular (角度)在输入文本事件绑定和双向绑定之间是否有任何性能改进?

Angular (角度)在输入文本事件绑定和双向绑定之间是否有任何性能改进?,angular,Angular,我想从输入文本中获取数据到typescript变量。基于我的谷歌搜索,基本上有两种方法可以做到这一点(告诉我是否有更干净的方法) 方法1-事件绑定 导出类LoginComponent实现OnInit{ 用户:字符串; someEvent(){ console.log(this.tbuser); } 方法2-双向绑定 导出类LoginComponent实现OnInit{ 用户:字符串; someEvent(){ console.log(this.tbuser); } 方法1看起来很笨重。表

我想从输入文本中获取数据到typescript变量。基于我的谷歌搜索,基本上有两种方法可以做到这一点(告诉我是否有更干净的方法)

方法1-事件绑定

导出类LoginComponent实现OnInit{
用户:字符串;
someEvent(){
console.log(this.tbuser);
}
方法2-双向绑定

导出类LoginComponent实现OnInit{
用户:字符串;
someEvent(){
console.log(this.tbuser);
}
方法1看起来很笨重。表达式很长。方法2看起来更干净,但由于它是双向绑定,可能会影响性能(尤其是在有许多输入的情况下)

是这样吗?
有更干净的方法吗?

您所说的是一些涉及用户交互的方法,性能差异不会明显。使用原始浏览器事件的性能将比双向绑定高出毫秒,但双向绑定是一种更方便的编程模型。方法一在n用户更新输入,如果组件属性更改,模型2将更新输入

这可能会影响自动测试运行的速度,但用户不会注意到差异

<input (input)="tbuser=$event.target.value" type="text">        

export class LoginComponent implements OnInit {
  tbuser: string;
  someEvent() {
    console.log(this.tbuser);
}
<input [(ngModel)]="tbuser" type="text">

export class LoginComponent implements OnInit {
   tbuser: string;
   someEvent() {
      console.log(this.tbuser);                     
   }