我如何编辑资产名称?它不起作用。谢谢
let assetService = $ injector.get(self.ctx.servicesMap.get('assetService'));
让activeID = self.ctx.data [0] .datasource.entityId
让tenantId = self.ctx.dashboard.authUser.tenantId
let asset = {
additionalInfo: null,
createdTime: 1599121131415, // временно
customerId: {
entityType: "CUSTOMER",
id: self.ctx.dashboard.authUser.customerId
},
id: {
entityType: "ASSET",
id: activeID
},
label: null,
name: "kuku", // временно
tenantId: {
entityType: "TENANT",
id: tenantId
},
type: "справочник"
}
assetService.saveAsset(asset)
答案 0 :(得分:0)
Thingsboard 目前使用 Angular 10 See releases 构建。您正确地注入了 Angular 服务“assetService”。您需要遵循 Angular 方法从 assetService 订阅 observable。
打电话
<块引用>assetService.saveAsset(资产)
不订阅意味着什么也不会发生。从Angular University Blog
<块引用>Angular HTTP 模块的多个版本都有一个基于 RxJS Observable 的 API。这意味着对 HTTP 模块的多次调用都将返回一个 observable,我们需要以一种或另一种方式订阅。
这里是“订阅”上述 observable 的代码
assetService.saveAsset(asset).subscribe(
(response) => {
console.log(
"saveAsset call Success:",
response);
},
response => {
console.log(
"saveAsset call Error:",
response);
},
() => {
console.log(
"saveAsset observable Complete"
);
});
如果上面的代码有错误,请告诉我,我没有测试。感谢您的问题 Anzor - 它让我找到了一个解决方案来制作自定义 Thingsboard 小部件以及 Widgets Development Guide。