【问题标题】:Refreshing Angular Emojis when using property binding使用属性绑定时刷新 Angular Emojis
【发布时间】:2021-03-04 07:57:02
【问题描述】:

我是编程新手,如果问题很愚蠢,我很抱歉。 我正在使用Angular Emojis,我使用属性绑定显示带有变量的特定表情符号。

模板:

<angular-emojis [name]="emojivar" size="30" (mouseenter)="changeRoutine()" > </angular-emojis>

TypeScript 代码:

  emojivar = 'taco';

  changeRoutine(){
    console.log(this.emojivar);
    this.emojivar = 'tomato';
    console.log(this.emojivar);
  }

变量会改变,但表情符号不会改变。 有什么办法可以修复它,让它刷新吗?

【问题讨论】:

    标签: angular typescript emoji property-binding


    【解决方案1】:

    老实说,我看不出有什么理由不这样做。您可以尝试强制更改检测:

    consturctor(private cdr: ChangeDetectorRef) {}
    
    changeRoutine(){
        console.log(this.emojivar);
        this.emojivar = 'tomato';
        console.log(this.emojivar);
        this.cdr.detectChanges();
    }
    

    [编辑] 我查看了您正在使用的库......它根本不处理更改:

    https://github.com/saqy/angular-packages/blob/master/projects/angular-emojis/src/lib/angular-emojis.component.ts

    【讨论】:

    • 感谢您的快速回复,但不幸的是,这不起作用。我什至尝试过 this.ngOnInit,但也没有用。
    • 您似乎是第一个使用这个...库的人之一。我创建了一个拉取请求来添加更改检测...但我建议您寻找一个替代的、更复杂的库...
    • 非常感谢,我会寻找其他替代方案。
    【解决方案2】:

    希望这个example 对你有帮助。

    【讨论】:

    • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
    • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review
    猜你喜欢
    • 1970-01-01
    • 2019-01-18
    • 2017-03-01
    • 1970-01-01
    • 2011-04-05
    • 2019-11-01
    • 1970-01-01
    • 2017-04-19
    • 2017-09-20
    相关资源
    最近更新 更多