Javascript cdk drop不是已知元素
我正在使用Angular 7拖放的新功能,我遵循了Officel文档中的所有步骤: 但我有一个错误: ** 未捕获错误:模板分析错误:“cdk drop”不是已知的 要素: 1.如果“cdk下降”是一个角度组件,则确认它是该模块的一部分。 2.如果“cdk drop”是Web组件,则将“CUSTOM_ELEMENTS_SCHEMA”添加到此组件的“@NgModule.schemas”以抑制此消息 ** 以下是我的app.component.html代码:Javascript cdk drop不是已知元素,javascript,angular,drag-and-drop,drag,angular7,Javascript,Angular,Drag And Drop,Drag,Angular7,我正在使用Angular 7拖放的新功能,我遵循了Officel文档中的所有步骤: 但我有一个错误: ** 未捕获错误:模板分析错误:“cdk drop”不是已知的 要素: 1.如果“cdk下降”是一个角度组件,则确认它是该模块的一部分。 2.如果“cdk drop”是Web组件,则将“CUSTOM_ELEMENTS_SCHEMA”添加到此组件的“@NgModule.schemas”以抑制此消息 ** 以下是我的app.component.html代码: <cdk-drop cdkDrop
<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元素,该元素也不起作用:在app.module.ts中,您应该
import {DragDropModule} from '@angular/cdk/drag-drop';
然后在同一文件的@NgModule decorator内的imports数组中添加DragDropModule
此外,@angular/material中没有导出任何内容,因为cdk drop将您的html部分更改为:
<div cdkDropList class="example-list" (cdkDropListDropped)="drop($event)">
<div class="example-box" *ngFor="let movie of movies" cdkDrag>{{movie}}</div>
</div>
在app.module.ts中,您应该
import {DragDropModule} from '@angular/cdk/drag-drop';
然后在同一文件的@NgModule decorator内的imports数组中添加DragDropModule
此外,@angular/material中没有导出任何内容,因为cdk drop将您的html部分更改为:
<div cdkDropList class="example-list" (cdkDropListDropped)="drop($event)">
<div class="example-box" *ngFor="let movie of movies" cdkDrag>{{movie}}</div>
</div>
您阅读的文档必须已过期。我看了一篇博文,也遇到了同样的问题 元素不再存在了。改为使用指令cdkDropList 发生奇怪错误时,请确保首先检查最新的文档
从今天起,此示例仍然有效您阅读的文档必须已过时。我看了一篇博文,也遇到了同样的问题 元素不再存在了。改为使用指令cdkDropList 发生奇怪错误时,请确保首先检查最新的文档
到今天为止,这个示例仍然有效您的NgModule文件中有什么?NgModule文件?我没有这个名字的文件检查我的答案,好像你忘了那个部分。你的NgModule文件里有什么?NgModule文件?我没有这个名称的文件检查我的答案,似乎你忘记了那部分。我仍然得到相同的错误,我在app.modules.ts文件的导入中添加了DragDropModule,我也在app.component.ts文件中导入了DragDropModulefile@SaidSOUALHI将其导入app.module.ts而不是app.component.ts有两个导入,文件头中的导入和@NgModule decorator中的导入数组。你应该把它们都制作出来。是的,我在文件头和@NgModule中都制作了imports@SaidSOUALHI切断你的服务器并重新运行。我仍然收到相同的错误,我在app.modules.ts文件中的导入中添加了DragDropModule,也在app.component.ts中导入了DragDropModulefile@SaidSOUALHI在app.module.ts而不是app.component.ts中导入有两个导入,一个导入在文件头,另一个导入在@NgModule decorator中。你应该把它们都制作出来。是的,我在文件头和@NgModule中都制作了imports@SaidSOUALHI切断你的服务器并重新运行。