我的 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)
那么我现在如何订阅东西?
我想将占位符高度设置为拖动元素的高度。
现在我使用最小可能元素高度的静态高度占位符。我找不到任何有关如何执行此操作的信息,目前还不知道。
组件 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)
有任何想法吗?