【发布时间】:2019-05-12 17:09:52
【问题描述】:
我正在使用 Angular 7“拖放”的新功能,我按照官方文档中的所有步骤操作:https://material.angular.io/cdk/drag-drop/overview
但我收到此错误: **
未捕获的错误:模板解析错误:“cdk-drop”不是已知的 元素: 1. 如果 'cdk-drop' 是一个 Angular 组件,那么验证它是这个模块的一部分。 2. 如果“cdk-drop”是一个 Web 组件,则将“CUSTOM_ELEMENTS_SCHEMA”添加到该组件的“@NgModule.schemas”以禁止显示此消息。
**
这是我的 app.component.html 代码:
<cdk-drop cdkDropList class="example-list" (cdkDropListDropped)="drop($event)">
<div class="example-box" *ngFor="let movie of movies" cdkDrag>{{movie}}
</div>
</cdk-drop>
这是我的 app.component.ts 代码:
import { Component } from '@angular/core';
import { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
movies = [
'Episode I - The Phantom Menace',
'Episode II - Attack of the Clones',
'Episode III - Revenge of the Sith',
'Episode IV - A New Hope',
'Episode V - The Empire Strikes Back',
'Episode VI - Return of the Jedi',
'Episode VII - The Force Awakens',
'Episode VIII - The Last Jedi'
];
drop(event: CdkDragDrop<string[]>) {
moveItemInArray(this.movies, event.previousIndex, event.currentIndex);
}
}
注意:我正在使用 => Angular:7.1.2 &如果我通过 div 更改 cdk-drop html 元素也不起作用:(
【问题讨论】:
-
你的 NgModule 文件里有什么?
-
NgModule 文件?我没有同名的文件
-
检查我的答案,好像你忘记了那部分。
标签: javascript angular drag-and-drop drag angular7