Angular 更新组件 HTML 后,CDK 拖放功能将无法使用
Angular CDK Drag and Drop won't work after updating component's HTML
我有一个新系统 Angular 8. 有一个 Module 和一个 Component:
ng new my-app --enable-ivy
npm install --save @angular/material @angular/cdk @angular/animations
npm install --save hammerjs
在 模块中 我要添加:
import { DragDropModule } from '@angular/cdk/drag-drop';
还有:
@NgModule({
imports: [
DragDropModule
]
})
在 组件的 HTML 我添加了这个:
<div cdkDrag>
Drag me around!
</div>
现在我使用以下方式为网站提供服务:
ng serve --port 4300
瞧,我可以拖动项目。
但是,当我更新 组件的 HTML 的任何内容并且页面刷新时,我无法再拖动该元素。例如,文本更改会反映出来。但是拖动功能不见了。
当我在 CLI 上重新启动服务器时,它再次工作,直到我更新标记。
当我更改 组件的 TypeScript 文件时不会发生这种情况,只有当 HTML 被更改时才会发生。
有什么问题?
这是 Angular 8.0 的问题。更新到 Angular 8.2 和相应的 Angular Material CDK 包解决了问题。
我有一个新系统 Angular 8. 有一个 Module 和一个 Component:
ng new my-app --enable-ivy
npm install --save @angular/material @angular/cdk @angular/animations
npm install --save hammerjs
在 模块中 我要添加:
import { DragDropModule } from '@angular/cdk/drag-drop';
还有:
@NgModule({
imports: [
DragDropModule
]
})
在 组件的 HTML 我添加了这个:
<div cdkDrag>
Drag me around!
</div>
现在我使用以下方式为网站提供服务:
ng serve --port 4300
瞧,我可以拖动项目。
但是,当我更新 组件的 HTML 的任何内容并且页面刷新时,我无法再拖动该元素。例如,文本更改会反映出来。但是拖动功能不见了。
当我在 CLI 上重新启动服务器时,它再次工作,直到我更新标记。
当我更改 组件的 TypeScript 文件时不会发生这种情况,只有当 HTML 被更改时才会发生。
有什么问题?
这是 Angular 8.0 的问题。更新到 Angular 8.2 和相应的 Angular Material CDK 包解决了问题。