有关创建自定义 ThingWorx 小组件的技巧
本部分提供了创建自定义小组件的相关提示。
使用 this.jqElement 限制您对元素的选择。如果 DOM 中存在重复的 ID 和类,这将减少在应用程序中引入不可预知行为的机会。
使用示例代码中所示的 this.jqElement 来限制您对元素的选择:
this.jqElement.find('.add-btn').click(function(e){
...do something...});
日志记录 - 您可以创建日志记录事件来调试混搭。建议使用以下方法在运行时环境中创建日志消息:
TW.log.trace(message[, message2, ... ][, exception])
TW.log.debug(message[, message2, ... ][, exception])
TW.log.info(message[, message2, ... ][, exception])
TW.log.warn(message[, message2, ... ][, exception])
TW.log.error(message[, message2, ... ][, exception])
TW.log.fatal(message[, message2, ... ][, exception])
日志可在“监控”菜单下找到。选择一个日志,打开日志窗口以查看日志消息。如果所用的浏览器支持 console.log(),则消息也会显示在调试程序控制台中。
格式 - 如果属性的基本类型设置为 STYLEDEFINITION,则可以使用以下代码获取样式信息:
var formatResult = TW.getStyleFromStyleDefinition(
widgetProperties['PropertyName']);
如果属性的基本类型设置为 STATEFORMATTING,请使用以下代码:
var formatResult = TW.getStyleFromStateFormatting({
DataRow: row,
StateFormatting: thisWidget.properties['PropertyName']
});
在上述两种情况下,formatResult 都是具有下列默认值的对象:
{
image: '',
backgroundColor: '',
foregroundColor: '',
fontEmphasisBold: false,
fontEmphasisItalic: false,
fontEmphasisUnderline: false,
displayString: '',
lineThickness: 1,
lineStyle: 'solid',
lineColor: '',
secondaryBackgroundColor: '',
textSize: 'normal'
};