【问题标题】:How to send a string to an angular4 directive?如何将字符串发送到 angular4 指令?
【发布时间】:2018-03-27 13:24:38
【问题描述】:

我遇到了这个问题,我有一个 web 应用程序,我有一个 html 页面,实际上,其中两个,现在我创建了一个指令 (appResizer),它适用于我的两个页面,并且为了改进我的代码,我想将一个字符串从 html 页面发送到指令。你能帮我吗?

这是我两页的代码:

<div appResizer>
...
</div>

基本上,它们都有一个大 div,如果需要,我会显示或隐藏。

然后我得到了我的指令:

import { Directive, ElementRef, Input, Renderer, OnInit, HostListener, 
Output, EventEmitter } from '@angular/core';

@Directive( {
    selector: '[appResizer]'
} )
export class ResizerDirective implements OnInit { 
    // 
}

我需要以某种方式向指令发送一个刺痛,作为输入或其他东西...... 请帮忙。

【问题讨论】:

    标签: angular directive


    【解决方案1】:

    你试过了吗:

    在html页面中:

    <div [appResizer]="'yourStringToSend'"
    

    在指令中:

    @Input() appResizer: string;
    

    这是一种方法。

    另一个是,要创建一个全局服务,在服务中添加一个变量,显示你想发送给指令的字符串,然后像这样使用它:

    在 globalService.ts 中创建一个变量:

    public myStringToSend: string;
    

    在指令中:

    import { GlobalService } 'global.service';
    

    并像在 angular4 环境的其他部分一样正常使用它。

    console.log(this.globalService.myStringToSend);
    

    祝你好运。

    【讨论】:

    • omg thx man,它成功了,尝试了第一个变体,没有导入新服务....非常感谢
    猜你喜欢
    • 2018-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多