我正在构建一个Angular Universal App,现在我所拥有的只是该网站的结构。我所做的所有事情都像教程中有关为Angular Universal转换我的应用程序一样。
console.log("got Request " + new Date());
res.render(join(DIST_FOLDER, 'browser', 'index.html'), { req , time: true},
function(err, html) {
console.log("finished Rendering " + new Date());
res.send(html);
}
);
Run Code Online (Sandbox Code Playgroud)
渲染需要3个半秒。.对我来说,这似乎是很长的时间。同样在Chrome TTFB中的DeveloperTools中为3.5秒。而且该应用程序除了路由之外什么也不做。我不希望我的未来应用这么慢。
是否有人知道这是正常现象还是需要改进的地方?Github回购与问题 https://github.com/Joniras/slow-universal-rendering-example
设置工作区并运行角度通用:
npm install
npm run build:universal
npm run serve:universal
Run Code Online (Sandbox Code Playgroud)
版本:
Angular CLI: 1.5.0
Node: 6.11.5OS: win32 x64Angular: 5.0.1... animations, common, compiler, compiler-cli, core, forms... http, language-service, platform-browser... platform-browser-dynamic, platform-server, router@angular/cdk: 5.0.0-rc0@angular/cli: 1.5.0@angular/flex-layout: 2.0.0-beta.10-4905443@angular/material: 5.0.0-rc0@angular-devkit/build-optimizer: 0.0.33@angular-devkit/core: …
升级到Angular 5时,文件'src/app/app.component.spec.ts'不是Typescript项目'src/tsconfig.app.json'的一部分
我们已经按照所有指示将我们的项目从角度4转换出来,但是我们正在将这个项目拉出来 - 任何人都有任何想法?
我们从tslint得到这个错误...
在Angular 5.1中使用DatePipe,我需要以小写形式格式化句点字段类型(AM/PM).根据文件,
Tuesday, December 19, 7:00 am
Run Code Online (Sandbox Code Playgroud)
应该
date:'EEEE, MMMM d, h:mm a'
Run Code Online (Sandbox Code Playgroud)
但是,句点字段类型始终以大写形式显示,所以我看到:
Tuesday, December 19, 7:00 AM
Run Code Online (Sandbox Code Playgroud)
我做错了什么,或者这是Angular日期格式化的已知缺陷?
我知道有很多关于此npm软件包安装的问题,但我找不到确切的相关答案,我已经安装了npm并在VStudio中开发了几个应用程序,每次开发有角度的新项目之前,我们都需要通过在cmd中键入“ npm install -g @ angular / cli?”再次安装npm。
所以我有一个包含百分比符号的字符串%。我希望能够使用将其替换为#符号TypeScript。我还在学习TypeScript,所以它的语法仍然让我失望。我设法实现了我在C#中所需的解决方案,并且可以在下面找到该段代码:
public static void Main(string[] args)
{
string data = "AHu%odk"; //The % character will always be at index 3
string finalResult = "";
if (data.Contains("%"))
{
StringBuilder sbFirstIndex = new StringBuilder(data);
sbFirstIndex[3] = '#';
finalResult = sbFirstIndex.ToString();
Console.WriteLine("Appended string now looks like this: {0} \n", finalResult);
}
else
{
Console.WriteLine("False. It does not contain it");
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的TypeScript实现,但是如果检查字符的索引,就会卡住:
changePercantage(input: string): void {
var data= "AHu%odk";
var finalResult = "";
var index = result.indexOf("%"); …Run Code Online (Sandbox Code Playgroud) 是否可以选择在orderBy管道中通过asc/desc更改排序?
数组:
this.testArr = [{name: 'bbb', id: '1'}, {name: 'ccc', id: '2'}, {name: 'aaa', id: '0'}];
Run Code Online (Sandbox Code Playgroud)
在HTML中:
<ul><li *ngFor="let item of testArr | orderBy: 'id' : true"><div>{{item.id}}</div></li></ul>
Run Code Online (Sandbox Code Playgroud)
将'true'替换为'false'/'asc'/'desc'不起作用.所需的输出应为:0,1,2和其他参数:2,1,0.
谢谢.
在此示例之后,如果用户输入的不是字母数字,但我尝试显示错误,但没有成功。总是显示错误信息。
这是代码片段:
<div class="col-md-4" *ngIf="this.context.risk.contractOrigin === 'Appel_d_offre'">
<label class="control-label" for="numberTenderInvitation">Numéro d'appel d'offre</label>
<input class="form-control" id="numberTenderInvitation" name="numberTenderInvitation"
[(ngModel)]="context.risk.policyId"
#numberTender="ngModel"
maxlength="10"
[pattern]="'^[a-zA-Z \-\']$'"
required/>
</div>
<small class="errorLabel" [hidden]="!numberTender.errors">
Le champ comporte une erreur.
</small>
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:
错误TypeError:无法读取未定义的属性“错误”
我哪里做错了?
我正在尝试实现ng-repeat的基本示例。我使用的是ionic 3和Angular5。我不知道这是什么问题?帮助我的代码。
manage.html
<ul *ngFor="let room of roomDetail; let i = index">
<li ng-repeat="(key,value) in room">
{{key}} : {{value}}
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
管理
import {
Component
}
from '@angular/core';
import {
IonicPage, NavController, NavParams
}
from 'ionic-angular';@
IonicPage()@ Component({
selector: 'page-manage',
templateUrl: 'manage.html',
})
export class ManagePage {
public room = {};
public roomDetail = [{
"roomName": "Room-1",
"floorNumber": "2nd Floor",
"buildingName": "Golden Millenium"
}];
constructor(public navCtrl: NavController, public navParams: NavParams) {}
}
Run Code Online (Sandbox Code Playgroud) 我当时正在Angular 5中进行个人项目。由于某些原因,我更换了设备,由于有可用的新版本,如何在新设备中安装Angular 5,是否有任何方法可以代替Angular安装Angular 5, 6吗
我正在尝试使用多个复选框来自定义Mat-select。由于某些原因,面板的最小宽度错误,如下所示:
而且我不知道它的最小宽度在哪里计算。我也尝试添加panelClass并重写此类的最小宽度,例如:
<mat-select #multipleSelect (selectionChange)="selectItem($event.value)" panelClass="multiple-panel" multiple>
&.multiple-panel {
min-width: 200px !important;
}
Run Code Online (Sandbox Code Playgroud)
但是,当打开下拉菜单时,其打开的宽度为原始宽度(如图所示),并在几毫秒后“跳转”到面板类上定义的自定义最小宽度。
我发现很难选择垫子样式。有人知道如何解决这个问题吗?
angular-material angular-material2 angular5 angular-material-6
angular5 ×10
angular ×5
node.js ×2
typescript ×2
angular-cli ×1
angular-pipe ×1
c#-6.0 ×1
cmd ×1
downgrade ×1
express ×1
installation ×1
ionic3 ×1
npm ×1