javascript - 如何使用管道有条件地显示innerHTML值

标签 javascript html angular

我正在使用 Angular 8。希望使用管道翻译有条件地实现 innerHTML

.html

<button type="button"     
    mat-flat-button
    // using translate module internally
   [innerHTML] = "display ? (HIDE_NUMBER' : SHOW_NUMBER) | translate)"
   (click)="toggle()">
</button>

.ts

//all imports are done

   export class New implements OnInit {

    public display: boolean;

    constructor() {}

    toggle() {
      this.display = !this.display;
    }

}

最佳答案

HIDE_NUMBER 之后有一个奇怪的 ' :) 。但这不是唯一的问题

你需要做这样的事情

[innerHTML] = " (condition ? 'translate_string'
                   : 'the_other_translate_string'
                ) | translate
                "

这个想法是将条件包装在 () 中,然后根据该条件转换结果。这就是为什么 translate 管道位于 ()

之外

关于javascript - 如何使用管道有条件地显示innerHTML值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60003746/

相关文章:

javascript - 光标位于右侧而不是左侧

javascript - 用户在我的页面上拖动对象时如何防止 'I-Beam' 光标

javascript - 隐藏 Div : "display:none" property

html - 将文本包装在 `<li>` 元素内

javascript - jQuery 错误 "Unexpected token ILLEGAL"中的反斜杠

Angular 4 - 为 Facebook 动态更新元标签(打开图)

javascript - Mongoose - 在更新中删除数组元素

javascript - Bootstrap Modal 禁用来自子 DIV 的文本字段

javascript - 未捕获的类型错误 : Cannot read property 'parse' of undefined when requiring a library

angular - 来自 observable : testing with Jasmine marbles 的特殊结果