小编Kar*_*yal的帖子

如何访问Angular 2组件和服务中的常量?

我有一个常量文件constants.ts:

export const C0NST = "constant";
Run Code Online (Sandbox Code Playgroud)

我在some.service.ts服务中访问它,如下所示:

import { C0NST } from './constants';

console.log(C0NST); // "constant"
Run Code Online (Sandbox Code Playgroud)

但是,当我在组件模板中访问它时:

some.component.ts:

import { C0NST } from './constants';
Run Code Online (Sandbox Code Playgroud)

some.component.html:

{{ C0NST }} <!-- Outputs nothing -->
Run Code Online (Sandbox Code Playgroud)

但是,在组件类中定义成员有效:

some.component.ts

public const constant = C0NST;
Run Code Online (Sandbox Code Playgroud)

some.component.html

{{ constant }} <!-- constant -->
Run Code Online (Sandbox Code Playgroud)

我不明白为什么我能够直接在服务类中访问导入的常量,但不能在组件模板中访问,即使我在组件类中导入它.

typescript angular

49
推荐指数
5
解决办法
6万
查看次数

Angular中的语言环境5

我是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"吗?

localization angular

8
推荐指数
1
解决办法
2467
查看次数

为什么AppComponent默认没有ngOnInit函数?

在使用CLI生成Angular项目时,根组件 - AppComponent没有ngOnInit块,但生成的每个其他组件都有一个ngOnInit块.在根组件中有一个ngOnInit是不对的吗?

angular-cli angular

6
推荐指数
1
解决办法
249
查看次数

无法在Angular 4中为投影内容添加样式

我创建了一个模态组件,该组件可投影3个部分:页眉,正文和页脚。

modal.component.html

<div>
    <ng-content select="section[modal-header]"></ng-content>
    <ng-content select="section[modal-body]"></ng-content>
    <ng-content select="section[modal-footer]"></ng-content>
</div>
Run Code Online (Sandbox Code Playgroud)

因此,用法:

<modal-component>
    <section modal-header>Header</section>
    <section modal-body>Body</section>
    <section modal-footer>Footer</section>
</modal-component>
Run Code Online (Sandbox Code Playgroud)

我想要样式header。从而:

modal.component.scss

:host([modal-header]) { font-weight: bold; }
Run Code Online (Sandbox Code Playgroud)

这行不通。我有什么想念的吗?

css angular

6
推荐指数
2
解决办法
2173
查看次数

在Angular 2+中拆分组件HTML?

我有一个Angular 5应用,其中包含许多复杂的表单和布局。我想将组件HTML拆分为多个文件,并使用单个标签来表示它们。是否可以创建指令以文件内容替换标签?

有没有更好的方法来处理带有加载,加载和错误状态模板的长HTML文件?

想象一下,feed.component.html对于由所管理的不同类型的Feed项目(图像/链接/视频/文本等),它具有不同的模板ngIf。维护此文件的理想方法是什么?

angular-cli angular

6
推荐指数
1
解决办法
1382
查看次数

Angular 2组件可以外部化吗?

TL; DR

是否有可能有类似package.json部件在角2应用程序?

长版

我们的应用程序的组件正在独立开发。它们具有自己的服务,常量和国际化字符串。每次对组件进行更新或更改时,都会更新应用程序版本。有没有一种方法可以使一个组件版本化,并为每个组件提供单独的存储库?每个被声明为主要应用程序的依赖项?

我的想法

  • 在用于开发组件的每台机器上创建一个虚拟应用程序
  • 使用组件并将其提交到存储库
  • 主应用程序的构建过程将这些存储库指定为依赖项,并在构建期间拉出它们(特定版本)。
  • 另一个任务将它们复制到应用程序目录(来自node_modules

以前有人做过吗?有更好的方法吗?

architecture git npm angular

5
推荐指数
1
解决办法
408
查看次数

通过另一个存储库的管道访问BitBucket存储库

我有2个存储库:AB.在构建期间B需要存储库A.B包含在子模块中A.因此,A我有.gitmodules:

[submodule "src/assets/B"]
    path = src/assets/B
    url = https://bitbucket.org/org_name/B.git
Run Code Online (Sandbox Code Playgroud)

bitbucket-pipelines.ymlA有下列命令初始化子模块:

git submodule update --init
Run Code Online (Sandbox Code Playgroud)

因为A我启用了Pipelines并生成了一个SSH密钥对(公共和私有).

因为B我已经将上述公钥复制到Access Key部分,以便管道A可以git clone B.

我收到了身份验证错误.

fatal: could not read Password for 'https://my_username@bitbucket.org'

我究竟做错了什么?

git bitbucket

5
推荐指数
0
解决办法
232
查看次数

Angular 2货币数字格式

我正在尝试将从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'为更新).

javascript typescript angular

0
推荐指数
1
解决办法
7509
查看次数