javascript - 如何在工具提示消息中包含图标
问题描述
我需要在工具提示消息中包含下载图标,我尝试了以下代码:
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 的新手。提前致谢
解决方案
您需要更改两件事以使工具提示显示您期望的数据。
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 的操作部分
推荐阅读
- python - Pyspark:通过重复加入具有不同行数的 2 个数据帧
- c# - 有没有办法 Geolocation.GetLastKnownLocationAsync(); 不在使用 xamarin 的 android 项目中返回 null
- android - 如果没有您的设备不支持的 google play 服务,获取应用程序将无法运行,仅适用于中国地区
- node.js - 在节点 js 中验证来自 Google Pay for Passes(保存和删除)的回调签名?
- c# - 关闭 C# MySQL 数据库连接会导致“System.NullReferenceException”
- vba - 如何消除VBA中所有高于12000的unicode?
- python - df['datetime']=df['date'] + ' ' + df['time'] > + 不支持的操作数类型:'DatetimeArray' 和 'str'
- xml - XSLT 有效,但我认为我可以让它更简单。需要帮助
- javascript - 为什么对未添加事件侦听器的元素调用回调函数?
- node.js - Spring Boot Sockjs 与 Socket.io