Javascript 所选HTML不适用于Angular 6

Javascript 所选HTML不适用于Angular 6,javascript,html,angular,select,drop-down-menu,Javascript,Html,Angular,Select,Drop Down Menu,我在和angular一起工作 在我的模板中,枚举硬编码为可能的值: <div class="col-lg-9"> <select id="content_type_select" name="content_type" class="form-control multiselect-select-one" [(ngModel)]="selectedContent.contentType" data-fouc> <option [selected]="s

我在和angular一起工作

在我的模板中,枚举硬编码为可能的值:

<div class="col-lg-9">
  <select id="content_type_select" name="content_type"  class="form-control multiselect-select-one" [(ngModel)]="selectedContent.contentType" data-fouc>
    <option [selected]="selectedContent.contentType===ContentType.Image" [value]="ContentType.Image">Image</option>
    <option [selected]="selectedContent.contentType===ContentType.Video" [value]="ContentType.Video">Video</option>
    <option [selected]="selectedContent.contentType===ContentType.Text"  [value]="ContentType.Text">Txt</option>
    <option [selected]="selectedContent.contentType===ContentType.HTML"  [value]="ContentType.HTML">HTML</option>
  </select>
</div>
在我的typescript中,我将selectedContent发送到一个模板,并在cosole中登录以检查selectedContent的值,它如下所示:

正如您在I console.logthis.selectedContent中看到的,有一个属性contentType的值为1,在我的下拉列表中应该选择图像,但实际上没有选择任何内容

但是如果我写[selected]=true,那么该选项被选中。。。为什么:/

谢谢各位


干杯

我认为您需要提供更多的上下文,比如ContentType枚举的实现。但是,让我为你们提供一些关于这类问题的常见答案

枚举不会在模板上自动可用,因为它们是在组件的类上导入的。假设您有一个枚举,如

export enum ContentType {
  Image = 1,
  Video = 2,
  Text = 3,
  HTML = 4
}
如果您需要从模板中使用它,则必须首先将其与某些公共可用的类属性关联,例如,public readonly contentType=contentType,然后在模板代码中按如下方式引用:

<select id="content_type_select" name="content_type"  class="form-control multiselect-select-one" [(ngModel)]="selectedContent.contentType" data-fouc>
    <option [selected]="selectedContent.contentType === contentType.Image" [value]="contentType.Image">Image</option>
    <option [selected]="selectedContent.contentType === contentType.Video" [value]="contentType.Video">Video</option>
    <option [selected]="selectedContent.contentType === contentType.Text"  [value]="contentType.Text">Txt</option>
    <option [selected]="selectedContent.contentType === contentType.HTML"  [value]="contentType.HTML">HTML</option>
  </select>

此外,在使用标识运算符时,请注意JavaScript类型。1==1但是1!=='1.

您从哪里获得ContentType.Image ContentType.Video等?通常,如果内容类型1==图像,您的代码应该为[selected]=selectedContent.contentType===1在控制台日志中,您将获得一个数字,请尝试在HTML中将contentType.Image替换为1,我认为这会起作用。