【问题标题】:How to evaluate html returned by a method within <td> tags in angular?如何以角度评估 <td> 标记中的方法返回的html?
【发布时间】:2021-07-02 11:23:30
【问题描述】:

我在.ts 文件中有一个方法,它返回html 以在td 标记中动态制作按钮,但使用&lt;td&gt;{{actions(rec1)}}&lt;/td&gt;,我得到的html 打印为 而不是动态按钮。请建议如何实现!

public actions(data) {
    let disabled = "";
    if (data.DASHBOARD_STATUS != "Failed" || data.addComment == 0) {
      if(data.addComment!=0 && this._defaultRegion == "APAC")
      {}
      else
      disabled = "disabled";
    }

    let hideCmt = "";
    if (data.addCommentAppConfig != "1") {
      hideCmt = "hidden";
    }

    let hideEmail = "";
    if (data.sendEmailAppConfig != "1") {
      hideEmail = "hidden";
    }
    else if (this._defaultRegion == "NAM") {
      if (data.DASHBOARD_STATUS == "Pending" || data.DASHBOARD_STATUS == "Incomplete")
        hideEmail = "hidden";
    }
    let hideDet = "";
    if (data.showDetailsAppConfig != "1") {
      hideDet = "hidden";
    }

    return '<button ' + hideCmt + ' id="btn_cmt" ' + disabled + ' class="DetailButton" style="margin-left:2px"><i class="fa fa-pencil-square-o" aria-hidden="true"></i></button>' +
      '<span>&nbsp;&nbsp;</span>' +
      '<button ' + hideDet + ' id="btn_detail" class="DetailButton" style="margin-left:2px"><i class="fa fa-file-text" aria-hidden="true"></i></button>' +
      '<span>&nbsp;&nbsp;</span>' +
      '<button ' + hideEmail + ' id="btn_eml" class="DetailButton" title="Email" ng-disabled="true"><i class="fa fa-envelope" aria-hidden="true"></i></button>';
  }

【问题讨论】:

    标签: html angular angular8


    【解决方案1】:

    借助 JSX,您只能通过 react 来做类似的事情。

    但不是在 Angular 中,也许你应该考虑使用 element.append (yourHTML) 或创建一个 HTML 模板来绑定 TS 上的变量

    const myHTML = '<div>Ciao</div>'
    
    div.append(myHTML)
    // OR
    div.innerHTML(myHTML)
    

    已编辑

    <td #actionsTd></td> 
    

    你需要在你的 .ts 中返回一个 var 你的 HTMLString

     const actionsHTML = this.actions() 
    

    然后这样做:

    querySelector('#actionsTd').innerHTML = actionsHTML
    

    这是Javascript方式!

    但是感谢 Angular,您可以像这样绑定变量:

    <button [hidden]="isButtonHidden" [disabled]="isButtonDisabled"></button>
    

    在您的 .ts 中

    public isButtonHidden = true;
    public isButtonDisabled = this.calculateIfButtonIsDisabled();
    

    【讨论】:

    • 感谢您的回复!您能否在我的问题上下文中建议一些代码,因为我必须在这里使用 标记。
    • 用爱为你编辑
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签