我正在使用date管道格式化我的日期,但我无法获得我想要的确切格式而无需解决方法.我是错误地理解管道还是不可能?
//our root app component
import {Component} from 'angular2/core'
@Component({
selector: 'my-app',
providers: [],
template: `
<div>
<h2>Hello {{name}}</h2>
<h3>{{date | date: 'ddMMyyyy'}}, should be
{{date | date: 'dd'}}/{{date | date:'MM'}}/{{date | date: 'yyyy'}}</h3>
</div>
`,
directives: []
})
export class App {
constructor() {
this.name = 'Angular2'
this.date = new Date();
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法将后端呈现的参数传递给angular2 bootstrap方法?我想为使用BaseRequestOptions的所有请求设置http标头,并使用后端提供的值.我的main.ts文件看起来像这样:
import { bootstrap } from '@angular/platform-browser-dynamic';
import { AppComponent } from "./app.component.ts";
bootstrap(AppComponent);
Run Code Online (Sandbox Code Playgroud)
我发现如何将这个参数传递给root组件(/sf/answers/2488755531/),但是当我开火bootstrap方法时我需要它......有什么想法吗?
编辑:
webpack.config.js内容:
module.exports = {
entry: {
app: "./Scripts/app/main.ts"
},
output: {
filename: "./Scripts/build/[name].js"
},
resolve: {
extensions: ["", ".ts", ".js"]
},
module: {
loaders: [
{
test: /\.ts$/,
loader: 'ts-loader'
}
]
}
};
Run Code Online (Sandbox Code Playgroud) 我遇到了'不透明的标记'作为在Angular 2中实现全局常量的解决方案,例如:在Angular 2中定义全局常量
尽管阅读了文档,我似乎无法理解这一点.
使用OpaqueToken比使用字符串作为标记更可取,因为多个提供程序使用与两个不同标记相同的字符串可能导致冲突.
什么?什么是开始的Angular2令牌?所有我得到的谷歌都是JSON网络代币(他们在auth等中的角色等)的答案,据我所知,但显然没有任何关联.
什么是不透明的令牌?它是干什么用的?
PS更多关于不透明标记的文档用于提供常量.然而,他们并没有帮助我.
我必须像这样显示欧元货币:583 €.
但是这个代码:
{{ price | currency:'EUR':true }}
Run Code Online (Sandbox Code Playgroud)
我知道€583,Angular核心中是否有任何选项可以将符号移动到右边?许多欧洲国家使用右边的符号(法国,德国,西班牙,意大利).
我正在为日期选择器使用ng-pick-datetime UI组件.我禁用了readonly模式,因此输入处于活动状态以便使用键盘输入.
<owl-date-time name="client_birthday" #client_birthday="ngModel"
[placeHolder]="'DD.MM.YYYY'"
[locale]="ru"
[(ngModel)]="client.client_birthday"
[type]="'calendar'"
[dataType]="'string'"
[dateFormat]="'DD.MM.YYYY'"
[readonlyInput] ="false"
[autoClose] ="true"
[inputId]="'client_birthday'"
></owl-date-time>
Run Code Online (Sandbox Code Playgroud)
我尝试RU使用date-fns以下方法应用语言环境:
ru: any;
ruLocale = require('date-fns/locale/ru');
ngOnInit() {
this.ru = {
firstDayOfWeek: 1,
dayNames: [...],
dayNamesShort: [...],
monthNames: [...],
monthNamesShort: [...],
dateFns: this.ruLocale
};
}
Run Code Online (Sandbox Code Playgroud)
当我用dd.mm.yyyy格式输入输入时,选择器将日期作为一个月和一个月作为一天,并且年份是可以的.因此,它识别的唯一格式是mm.dd.yyyy,这似乎是us区域设置.我的日历语言按预期更改了,但是也可以配置日期格式RU吗?
我将不胜感激任何帮助.
我希望有一个LoginForm,并在此用户输入应用程序后 - 使用德语或英语.据我所知,我可以设置app.module.ts类似的东西
import { LOCALE_ID } from '@angular/core';
providers: [{ provide: LOCALE_ID, useValue: 'de-DE' },...]
Run Code Online (Sandbox Code Playgroud)
但那是在启动时,而不是在LoginForm已经显示的时候: - /有没有办法改变整个应用程序的语言环境?(不仅仅是针对特定组件!) - 如果翻译可以随时更改,那将会很棒.任何提示如何实现?我只找到了上面的处理方式.
我是locales概念的新手.根据我的理解,我制作了一个Angular 4应用程序,它将使用navigator.language()API 从浏览器中读取区域设置并提供给Angular的管道.由于所有这些都随v5发生变化,我对迁移有一些疑问.
我的理解是这里的列表:https://github.com/angular/angular/tree/master/packages/common/locales提供了可以提供的语言环境列表registerLocaleData().
因此,我可以import localeEnIn from '@angular/common/locales/en-IN'并registerLocaleData(localeEnIn)激活语言环境.
自动加载在浏览器的语言环境的应用程序,我将不得不使用navigator.language()API来获取区域设置ID(比如"EN-GB"),并调用registerLocaleData(localeEnGb)其中localeEnGb从上面的列表导入.如果不必指定所有语言环境,这可以自动化吗?
有像en和的区域设置de.我应该拆分响应navigator.language()并仅提供"en"吗?
我正在做一些关于在运行时更改Angular语言环境的研究,并找到了这个主题:如何在Angular 2中的DatePipe中设置语言环境?.
是否仍然无法在运行时更改语言环境?我有一个应用程序,它具有多个管道来根据语言环境格式化数字,日期和语言,但是为每个语言环境实现许多自定义管道 - 而不是在运行时能够更改它 - 似乎很荒谬.
你会用什么解决方案?
我正在尝试在我的多语言应用程序中使用 Kendo 组件。为了正确设置日期格式,Kendo 需要LOCALE_ID设置 Angular 的 。我不知道如何以干净的方式实现这一点。
目前,我正在使用 来HTTP_ACCEPT_LANGUAGE查找应该使用哪种语言来提供我的应用程序。我在nginx.conf中这样做:
# Parse AcceptLanguage header
# en,es,pl,fr
# en,es;q=0.8,pl;q=0.7,fr;q=0.6
set $first_language $http_accept_language;
if ($http_accept_language ~* '^(.+?),') {
set $first_language $1;
}
set $language_suffix 'en';
if ($first_language ~* 'fr') {
set $language_suffix 'fr';
}
root /usr/share/nginx/html/$language_suffix;
Run Code Online (Sandbox Code Playgroud)
这有效。使用正确的 .xlf 文件并且消息显示为已翻译。
现在,我需要设置LOCALE_ID以使我的 Kendo 组件以正确的格式呈现日期。我尝试通过获取浏览器当前语言来设置它。以下是我尝试实现这一目标的方法:
应用程序模块.ts
...
import { LOCALE_ID, NgModule } from '@angular/core';
import { LocaleService } from './shared/service/locale.service';
...
@NgModule({
declarations: [
...
],
imports: [ …Run Code Online (Sandbox Code Playgroud) 我正在尝试将从API获取的数量格式化为特定于语言环境的格式.
在控制台中:
Intl.NumberFormat('en-IN').format(450000) // "4,50,000"
Run Code Online (Sandbox Code Playgroud)
在Angular 2组件模板中:
{{ Intl.NumberFormat('en-IN').format(450000) }} // Cannot read property 'NumberFormat' of undefined
{{ 450000 | currency:'INR':true }} // ?450,000.00
Run Code Online (Sandbox Code Playgroud)
有没有一种方法可以在?4,50,000.00不明确指定分隔符的情况下获得(并且能够将语言环境字符串'en-IN'更改'en-US'为更新).
angular ×10
javascript ×4
localization ×2
angular-pipe ×1
currency ×1
date ×1
date-pipe ×1
datepicker ×1
euro ×1
jquery ×1
kendo-ui ×1
locale ×1
pipe ×1
typescript ×1