如何修改资产名称?

时间:2020-10-26 09:10:07

标签: thingsboard

我如何编辑资产名称?它不起作用。谢谢

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)

1 个答案:

答案 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