【问题标题】:How to show an object as tooltip using bootstrap syntax in angular component如何在角度组件中使用引导语法将对象显示为工具提示
【发布时间】:2020-10-19 06:45:13
【问题描述】:

我有一个这样的对象 var obj = {"test price type ty dynamic ": 10, test: 7, pricetype1u: 0, Price type 3: 0, Price type 2: 0}

在一个角度组件 html 中,使用我这样编写的引导程序

<button type="button" 
        icon="file-excel" 
        data-toggle="tooltip" 
        data-placement="top"
        title="{{obj}}">

        <span class="k-icon k-i-info"></span>
</button>

工具提示显示如下(对象):

{
  "test price type ty dynamic ": 10, 
   "test": 7, 
   "pricetype1u": 0, 
   "Price type 3": 0, 
   "Price type 2": 0  
}

我的要求是显示这样的工具提示

  test price type ty dynamic : 10
  test : 7
  pricetype1u : 0
  Price type 3 : 0
  Price type 2 : 0  

请帮助我如何获得这种所需的格式

【问题讨论】:

  • 所有对象工具提示都需要这种格式吗?

标签: javascript angularjs angular bootstrap-4 angular-ui-bootstrap


【解决方案1】:

如果您对所有对象工具提示都有此要求,则应考虑使用管道。将以下实现复制到管道中应该可以工作。

如果你只需要这种格式一次,你可以写一个简单的函数来处理它:

function convertObjTooltip(obj: any) {
    const results = [];
    Object.keys(obj).reduce((sum, key) => {
        sum.push(`${key}: ${obj[key]}`);
        return sum;
    }, results);
    return results.join('\n');
}

第一个更改行我没有去掉,你自己处理吧。

在模板中调用它:

<button type="button" 
    icon="file-excel" 
    data-toggle="tooltip" 
    data-placement="top"
    title="{{convertObjTooltip(obj)}}">

【讨论】:

  • 它有效,非常感谢 huan ...我写了一个控制台,它总是在后台触发,这是一个很好的做法
  • 是的,实际上将属性绑定到函数调用并不是一个好主意,您可以通过简单地将计算值分配给组件中的变量,并在模板中使用该值来避免这种情况。这应该可以避免性能问题。
  • 按照你的要求,我创建了角管,所以它只会被调用一次并且工作正常......谢谢你。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-21
  • 2013-05-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多