我正在尝试简化Thingsboard中的功能。当用户单击实体列表的行(在仪表板内或仪表板外)时,我想打开一个对话框。我已经看到您可以使用Angular的$ mdDialog来做到这一点。但是我对Angular完全陌生,不知道如何应用它。
我在github上找到了这个示例代码:
$mdDialog.show(
$mdDialog.alert()
.parent(angular.element(angular.element(self.ctx.$container))
.clickOutsideToClose(true)
.title('This is an alert title')
.textContent('You can specify some description text in here.')
.ariaLabel('Alert Dialog Demo')
.ok('Got it!')
.targetEvent(evt)
);
因此,我在自定义操作中使用了此代码,但它不会执行任何操作。如何使用$ mdDialog在Thingsboard中创建新的弹出窗口?
[阅读了很多有关AngularJS的知识,并了解了小部件上下文之后,我了解到您需要将每个服务从AngularJS提取到小部件上下文中。针对这种特殊情况的处理方式是:
$mdDialog = widgetContext.$scope.$injector.get('$mdDialog')
现在$ mdDialog可以照常使用。