如何将输入数据值发送到angular-2的自定义指令中?

戴伊

我正在试验angular-2 basic的自定义指令,我想在该指令中解析我的自定义指令中的输入值。

我们来看一下。

我有一个名为app.component.ts的应用程序组件。我在哪里输入了一个字段。

<input [(ngModel)] = "myInput"/> 

接下来,我建立一个自定义指令名称custom.directive.ts

import { Directive, ElementRef, Renderer} from '@angular/core';

@Directive ({
  selector : '[customDir]'
})
export class CustomDirective{
  constructor(private el : ElementRef, private renderer: Renderer){ }
}

现在,我想在“ app.component.ts”中输入任何内容,并在我的自定义指令中对其进行解析,通过该指令我可以在控制台中简单地将其打印出来。

让我们重新修改我的代码...

<app.component.ts>
<input [(ngModel)] = "myInput" [customDir] = "myInput"/> 
<custom.directive.ts>
import { Directive, ElementRef, Renderer, Input} from '@angular/core';

@Directive ({
  selector : '[customDir]'
})

export class CustomDirective{
  @Input('customDir') myInput : any;
  constructor(private el : ElementRef, private renderer: Renderer){ }
     console.log(this.myInput);
  }

但是它不能正常工作。打印undefined ..

我关心的是...

1 ...如何仅按每次按键来解析数据..?

请建议我任何人...

贡特·佐赫鲍尔(GünterZöchbauer)
@Directive ({
  selector : '[customDir]',
  exportAs: 'customDir' // <<<=== added
})
export class CustomDirective{
  myInput : any;
}

并像这样使用

<input customDir #customDir="customDir" [(ngModel)]="myInputInApp" (ngModelChange)="customDir.myInput = $event"/> 

首先customDir是要完全应用该指令。

#customDir="customDir"是创建一个引用指令的模板变量(requires exportAs

[(ngModel)]="customDir.myInput"绑定到模板变量#customDir及其属性引用的指令input@Input()在这种情况下不需要,因为这里没有使用Angular绑定。

柱塞示例

这应该也可以正常工作,并且更易于使用:

@Directive ({
  selector : '[customDir]',
})
export class CustomDirective{

  @HostListener('ngModelChange', ['$event'])
  onModelChange(event) {
    console.log(event);
  }
}
<input customDir [(ngModel)]="someOtherProp"/> 

柱塞示例

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将数据发送到laravel voyager管理面板中的自定义按钮

如何将文件中的数据元素发送到单独的输入框?

在Angular 2中,如何将复选框值发送到组件中的函数?

angular 2自定义指令OnInit

如何将多个复选框值发送到laravel中的数据库?

如何将FormData中的数据发送到api?

如何将数据从模板发送到 Angular 中包含的组件?

如何通过Angular中的$ resource从自定义指令发送输入值?

如何将消息从自定义UIView发送到单独的文件中的UIViewController

自定义指令中的Angular UI指令

如何将2个输入中的数据发送到一个json服务器对象中?

如何正确将函数传递给Angular2 / Typescript中的自定义指令?

angular2自定义指令输入语法

如何将stdin上的输入发送到Makefile中定义的python脚本?

在React Native上为Android创建自定义UI组件。如何将数据发送到JS?

如何将自定义指令属性传递给Angular 1.5中的自定义指令子元素?

从输入的自定义指令中,如何使父表单无效?

如何将JSON数据发送到Bottle服务器并将值存储在sqlite3中?

如何将下拉列表中检索到的值的ID从数据库发送到php文件?

如何在自定义指令中检索ngmodel值

Angular2:发出请求时如何将数据从客户端发送到服务器

Angular2-表单行为异常中的自定义指令

自定义指令与Angular2中的组件之间的通信

如何将表单的数据发送到用Angular中的[FromForm]装饰的ASP.NET Core Web API操作?

如何通过Angular中的自定义指令添加mattooltip

如何在angular中创建自定义指令

如何在angular js中实现自定义指令?

在Ionic 2中,如何创建使用Ionic组件的自定义指令?

在Angular中的自定义指令中侦听鼠标事件