首页 > 解决方案 > 如何在工具提示消息中包含图标

问题描述

我需要在工具提示消息中包含下载图标,我尝试了以下代码:

ObjectIconView: Ember.ContainerView.extend(childMOMixin, {
                iconDownload: function () {
                              model: 'download'
                },
                mouseEnter: function(e) {
                if(type == 'Text'){
                var textUrl = {content: 'Preview is Not Available, Use '+ this.iconDownload() +'Menu'};
                this.$().tooltip(textUrl);
}
}

在那我已经调用了iconDownload里面的工具提示。但它undefined在输出中说。我正在使用 Ember 1.4.0 版本。任何人都可以为此提供建议。我是 Ember 的新手。提前致谢

标签: javascriptjqueryember.js

解决方案


您需要更改两件事以使工具提示显示您期望的数据。

1:从iconDownload
现在返回一些东西,该函数什么都不返回,它创建一个内部列表,然后什么也不做。
它甚至需要是一个函数,还是只是一个字符串、对象?

2:您没有正确访问其中的数据。
假设您实际上需要返回一个哈希,那么您没有正确访问数据 - 您所做的只是获取对象。
使用您现在拥有的结构,您的字符串生成器将是 'Preview is Not Available, Use '+ this.iconDownload().model +'Menu'


如果可能的话,我建议进行一些额外的更改。

1:使用 Ember getter 从 iconDownload 获取数据。
而不是 this.iconDownload,调用this.get('iconDownload.model')this.get('iconDownload')

2:使实际的工具提示文本成为计算属性。

toolTipText: function () {
    return `Preview is Not Available, Use ${this.get('iconDownload.model')} Menu`;
}.property('iconDownload.model');

现在,您可以调用 this.get('toolTipText') 来获取工具提示的内容。

3:将 mouseEnter 函数移动到视图 javascript 的操作部分


推荐阅读