【发布时间】:2018-10-12 08:23:35
【问题描述】:
我正在开发 .net core 2 + Angular SPA 模板的 Visual Studio 2017 模板项目。
我遇到了一个问题,即某些 html 元素出现了两次,其中 1 次出现了应用 css 而另一个没有出现。 当我部署应用程序时,它如下图所示。 如您所见,占位符“选择一个数字”和下拉箭头出现两次。
当我按下上箭头时,会打开带有选项的 2 个下拉菜单。 如果我按下向下箭头,只会打开向下的下拉菜单。 整个 div 应为蓝色,但只有“未到位”元素为蓝色。
该组件是 Prime-NG 组件,但它与其他 NPM 包(例如 kendo UI)一起出现。
我认为这可能与引导期间 css 文件的顺序和 NPM 加载有关,但我找不到该位置
index.cshtml:
@{
ViewData["Title"] = "Home Page";
}
<app>Loading...</app>
<script src="~/dist/vendor.js" asp-append-version="true"></script>
@section scripts {
<script src="~/dist/main-client.js" asp-append-version="true"></script>
}
_Layout.cshtml:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>@ViewData["Title"] - GSM.WebMonitorTool</title>
<base href="~/" />
<link rel="stylesheet" href="~/dist/vendor.css" asp-append-version="true" />
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.10/css/all.css" integrity="sha384-+d0P83n9kaQMCwj8F4RJB66tzIwOKmrdb46+porD/OvrJ+37WqIM7UoBtwHO6Nlg" crossorigin="anonymous">
</head>
<body>
@RenderBody()
@RenderSection("scripts", required: false)
</body>
</html>
选择编号.component.html:
<div class="query-context-all">
<div class="dropdown">
<p-dropdown [options]="numbers" [(ngModel)]="chosenNumber" placeholder="Choose a number"></p-dropdown>
</div>
</div>
选择编号.component.ts:
import { Component } from '@angular/core';
import { SelectItem } from 'primeng/api';
@Component({
selector: 'context-input',
templateUrl: './context-input.component.html',
styleUrls: ['./context-input.component.css']
})
export class ContextInputComponent {
chosenNumber: string;
numbers: SelectItem[];
constructor() {
this.numbers = [
{ label: "1", value: "1" },
{ label: "2", value: "2" },
{ label: "3", value: "3" }];
}
}
【问题讨论】:
-
在 模板 中设置了
Layout = null,因此布局不会得到rendered again。 -
您是否忘记在
webpack.config中添加 prime-NG 的 css 文件? -
@KarthikeyanNagaraj 我不确定我理解你所说的模板是什么意思。我应该在哪里添加这一行?
-
@JohnVelasquez 谢谢!!这就是问题所在。