【发布时间】:2020-07-10 21:58:30
【问题描述】:
这个问题和Thingsboard Dashboard Custom Action NullInjectorError很像
我使用来自实体别名的数据源设置实体表小部件,例如“'power_sensor' 类型的实体视图”。
这个想法很简单:
- 如果实体视图的名称是“Powermeter1” - 然后转到仪表板状态 1
- 否则,如果它被称为“Powermeter2” - 转到仪表板状态 2
现在我要为“On row click”创建自定义操作,但失败了。我想根据entity.service API修改@lee-sangjun的代码如下:
var $injector = widgetContext.$scope.$injector;
$injector.get(widgetContext.entityService.get('entityViewService')).getEntity(entityId.id).subscribe(function(entity) {
if (entity.name == 'Powermeter1') {
openDashboardState('energy_state_1')
}
else if(entity.name == 'Powermeter2') {
openDashboardState('water_state_2')
}
});
function openDashboardState(stateId) {
var params = {
entityId: entityId,
entityName: entityName
}
widgetContext.stateController.openState(stateId, params,
false);
}
但是什么也没发生。我必须做些什么才能让它发挥作用?
【问题讨论】: