小编Smo*_*sky的帖子

Angular 11:订阅已弃用:改用观察者?

我的 tslint 疯了吗?它为我在整个应用程序中所做的每个订阅发出警告。无论我使用旧的还是新的语法都没有关系,它仍然说 subscribe 已被弃用......如何编写一个不会被弃用的订阅?

直到今天还好:

something.subscribe((user: User) => {
        this.userProviderService.setUserId(user.userId);
        this.proceed = true;
      });
Run Code Online (Sandbox Code Playgroud)

我尝试了新语法但没有改变:

something.subscribe({
        next: (user: User) =>  {
          this.userProviderService.setUserId(user.userId);
          this.proceed = true;
        },
        complete: () => {},
        error: () => {}
      });
Run Code Online (Sandbox Code Playgroud)

这正是它所说的:

(方法) Observable.subscribe(next?: (value: Object) => void, error?: (error: any) => void, complete?: () => void): Subscription (+4重载) @deprecated —使用观察者而不是完整的回调

@deprecated — 使用观察者而不是错误回调

@deprecated — 使用观察者而不是完整的回调

订阅已弃用:使用观察者而不是完整的回调(弃用)tslint(1)

那么我现在如何订阅东西?

typescript tslint angular

14
推荐指数
3
解决办法
7475
查看次数

Angular cdk drop - 动态占位符高度

我想将占位符高度设置为拖动元素的高度。

现在我使用最小可能元素高度的静态高度占位符。我找不到任何有关如何执行此操作的信息,目前还不知道。

组件 HTML

<div class="taskList" cdkDropList id="{{ 'cdk-task-drop-list-' + categoryId }}" [cdkDropListData]="taskList"
[cdkDropListConnectedTo]="categoryIdList" (cdkDropListDropped)="onDrop($event)">
    <ng-container *ngIf="task.isApproved || task.authorId===userId || userAccessLevel >= 3">
        <div class="placeholder" *cdkDragPlaceholder></div>
        <div class="task">
            ...
        </div>
    </ng-container>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS

.placeholder{
    position: relative;
    margin-top: 1px; 
    margin-bottom: 5px;
    min-height: 75px;
    transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);
    vertical-align: middle;
}
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

angular angular-cdk angular-cdk-drag-drop

7
推荐指数
1
解决办法
3637
查看次数