我遇到了这个问题,我有一个Web应用程序,我有一个html页面,实际上是其中两个,现在我制作了一个指令(appResizer),它可以在我的两个页面上运行,并且为了改进我的代码,我想从html页面发送一个字符串到指令。你能帮帮我吗?
以下是我的2页代码:
<div appResizer>
...
</div>
基本上,它们都有一个大的div,如果需要我会显示或隐藏。
然后我得到了我的指示:
import { Directive, ElementRef, Input, Renderer, OnInit, HostListener,
Output, EventEmitter } from '@angular/core';
@Directive( {
selector: '[appResizer]'
} )
export class ResizerDirective implements OnInit {
//
}
我需要以某种方式将指令发送到指令,作为输入或某事...... 请帮忙。
答案 0 :(得分:1)
你试过这个:
在html页面中:
<div [appResizer]="'yourStringToSend'"
在指令中:
@Input() appResizer: string;
这是一种方法。
另一个是,要创建一个全局服务,请在服务中添加一个变量,该变量显示您要发送到指令的字符串,然后像这样使用它:
在glolobalService.ts中创建一个变量:
public myStringToSend: string;
在指令中:
import { GlobalService } 'global.service';
像在angular4环境的其他部分一样使用它。
console.log(this.globalService.myStringToSend);
祝你好运。