小编Har*_*inh的帖子

Angular2从HTML模板访问全局变量

我有一个全局变量来存储这样的国家/地区列表:

export var COUNTRY_CODES = ["AD", "AE", "AF" /* and more */];
Run Code Online (Sandbox Code Playgroud)

在我的一个组件中,我使用普通的import语句导入了变量

import { COUNTRY_CODES } from "../constants";
Run Code Online (Sandbox Code Playgroud)

我可以在组件代码中自由访问这个全局变量,但是在HTML模板上无法实现这样的功能:

<option *ngFor="let countryCode of COUNTRY_CODES" [value]="countryCode">{{countryCode | countryName}}</option>
Run Code Online (Sandbox Code Playgroud)

我可以通过定义局部变量将全局变量传递给组件,并在初始化期间为其分配全局变量.

ngOnInit() {
  this.countryCodes = COUNTRY_CODES;
}
Run Code Online (Sandbox Code Playgroud)

并更改ngFor此局部变量的to循环以使其工作.

我的问题:这是正确的方法吗?每次我想在模板中使用全局变量时,我都不太习惯定义桥接变量.

angular

27
推荐指数
1
解决办法
2万
查看次数

反应式表单 - 在取消时跳过验证

我有一个带有取消和提交按钮的反应式表单:

<button (click)="cancel($event)" type="button" class="ui button">Cancel</button>
<button [disabled]="..." type="submit" class="ui button primary">Store</button>
Run Code Online (Sandbox Code Playgroud)

现在,如果我点击提交(商店)按钮,验证就会启动 - 一切都很好。但是如果我点击取消它也会触发验证。我想知道为什么?我不需要对取消进行任何验证。我需要做什么才能关闭它?

angular-validation angular

7
推荐指数
1
解决办法
4479
查看次数

Angular 2 HTTP GET 返回 URL null

我正在尝试使用 Angular 2 和 Typescript 发出一个简单的 HTTP GET 请求。我收到 404 错误,网址为空。下面显示的是我的组件文件以及我收到的错误。

\n\n
import { Component, OnInit } from \'@angular/core\';\nimport { Router } from \'@angular/router\';\nimport { BreadcrumbService } from \'./breadcrumbService\';\nimport { Http, Response } from \'@angular/http\';\n\n@Component({\n  moduleId: module.id,\n  providers: [ BreadcrumbService],\n  templateUrl: \'html/appList.html\',\n  styleUrls: [\'css/list.css\']\n\n})\nexport class HealthComponent {\n  constructor(private http: Http) {\n      this.http.get(\'http://jsonplaceholder.typicode.com/posts/1\')\n      .toPromise()\n      .then((res: Response) => {\n      console.log(\'RES: \', res);\n      })\n    .catch((err: Error) => {\n      console.log(\'ERR!!: \', err);\n    });\n   }\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

错误信息:

\n\n
Response {_body: Object, status: 404, ok: false, …
Run Code Online (Sandbox Code Playgroud)

get http angular

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

Angular 2性能:与数据成员绑定是否比函数绑定更好?

我想对绑定到数据成员的性能是否比绑定到函数的性能更好一些?

例如,以下哪个陈述将有更好的表现?

1)

<myComp *ngIf="isThisTrue"></mycomp>
Run Code Online (Sandbox Code Playgroud)

isThisTrue在哪里通过方法设置

checkIfTrue(data){
       this.isThisTrue = data;
}
Run Code Online (Sandbox Code Playgroud)

在从可观察对象接收到事件时调用此checkfTrue()的位置。

要么

2)

<mycomp *ngIf="seeIfItHasBecomeTrue()"></mycomp>
Run Code Online (Sandbox Code Playgroud)

seeIfItHasBecomeTrue在哪里检查以查看this.isTrue是否为true。

我显然认为绑定到数据成员应该更快,但是我不确定是否总是会更快?还是有一些灰色区域?另外,如果速度更快,那么多少呢?

data-binding performance angular

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

Azure AD B2C中的多租户Azure AD

我在这里关注答案:具有自定义策略的Azure AD B2C中的多租户Azure AD身份验证

以及这里的演练:https : //github.com/Azure-Samples/active-directory-b2c-advanced-policies/blob/0129fc013ae5e66a3ee0046a5d0db2e8120d8f8e/Walkthroughs/IdP-AzureAD.md

但是我无法登录,该错误消息有点类似:

AADB2C: An exception has occured. Correlation ID: <GUID>. Timestamp: <Time>
Run Code Online (Sandbox Code Playgroud)

此外,在最新版母版中查看演练时,整个页面已被删除,现在仅包含指向https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c的链接-setup-aad-custom,它没有显示如何为多租户Azure AD IDP配置ClaimsProvider。

该错误消息不是很有帮助,我迷路了。

我的技术资料如下:

<ClaimsProvider>
    <Domain>AzureAD</Domain>
    <DisplayName>Login using Azure AD</DisplayName>
    <TechnicalProfiles>
        <TechnicalProfile Id="AzureADProfile">
            <DisplayName>Azure AD</DisplayName>
            <Description>Login with your Azure AD account</Description>
            <Protocol Name="OpenIdConnect"/>
            <OutputTokenFormat>JWT</OutputTokenFormat>
            <Metadata>
                <Item Key="DiscoverMetadataByTokenIssuer">true</Item>
                <Item Key="ValidTokenIssuerPrefixes">https://login.microsoftonline.com/</Item>
                <Item Key="authorization_endpoint">https://login.windows.net/common/oauth2/v2.0/authorize</Item>
                <Item Key="client_id">MyAzureADB2CAppId</Item>
                <Item Key="IdTokenAudience">MyAzureADB2CAppId</Item>
                <Item Key="response_types">id_token</Item>
                <Item Key="UsePolicyInRedirectUri">false</Item>
                <Item Key="BearerTokenTransmissionMethod">AuthorizationHeader</Item>
                <Item Key="scope">openid</Item>
                <Item Key="HttpBinding">POST</Item>
            </Metadata>
            <CryptographicKeys>
                <Key Id="client_secret" StorageReferenceId="B2C_1A_B2CSecret"/>
            </CryptographicKeys>
            <OutputClaims>
                <OutputClaim ClaimTypeReferenceId="socialIdpUserId" PartnerClaimType="oid"/> …
Run Code Online (Sandbox Code Playgroud)

azure-ad-b2c

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

如何在Sitecore后端更改datetime字段格式

有没有人知道在Sitecore后端(内容编辑器)上更改DateTime字段格式的最简单方法.我目前的Sitecore以美国格式显示日期(MM/dd/yyyy); 但我想使用格式dd/MM/yyyy.

任何帮助,将不胜感激.

谢谢.

sitecore

4
推荐指数
1
解决办法
2630
查看次数

如何在Angularjs2(2.0.1)中更快地加载Observable rxjs/Rx lib

我是Angularjs2中的新手在angular1中我使用了回调函数的承诺,在angular2我使用

import { Observable } from 'rxjs/Rx';
Run Code Online (Sandbox Code Playgroud)

加载Observable lib,问题是它加载了太多文件 在此输入图像描述

它使我的网络首次加载太慢.请帮我找到让它更快的方式.谢谢

observable rxjs angular

4
推荐指数
1
解决办法
1490
查看次数

如何在DocumentDb Emulator上运行存储过程

使用DocumentDb Emulator,我可以通过右键单击集合名称并选择New Stored Procedure来为某个集合定义自己的存储过程.

我的问题是:我如何调用它?Azure Portal上的真实DocumentDb有一个名为"Save&Execute"的按钮,它允许我运行它,但模拟器中似乎缺少该按钮.

azure-cosmosdb

3
推荐指数
1
解决办法
2251
查看次数

使用FormBuilder在Angular 2中从异步调用设置默认表单对象值

我正在使用"@angular/forms": "~2.1.0"and "angular-cli": "1.0.0-beta.19-3"并且在我进行异步调用以获取列表之后尝试设置my FormGroup(s campaignForm) campaign_config_id属性的默认值campaignConfigs.

我已经尝试使用以下其他SO建议,但我明白了TypeError: _this.campaignForm.controls.campaign_config_id.updateValue is not a function.

this.campaignConfigService.getCampaignConfigs()
  .subscribe(
    campaignConfigs => {
      ...
      this.campaignForm.controls['campaign_config_id'].updateValue(campaignConfigs[0].id)
    }
  );
Run Code Online (Sandbox Code Playgroud)

我也试着铸造this.campaignForm.controls['campaign_config_id']成NgControl,FormControl,SelectControlValueAccessor和其他对象,但他们都没有的.updateValue功能.

关于如何做到这一点的任何建议?

angular2-formbuilder angular

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

如何在 div 标签上应用禁用属性,该标签是 angular 4 中的表单组名称

代码片段:

<div formGroupName="address" [disabled] = "isDisabled">
<label class="accordion-header">Address:</label>
  <input type="radio" name="address" value="true" formControlName="address" [checked]="settingsForm.controls.address.controls.booleanAddress.value === 'true'">Inherit
  <input type="radio" name="address" value="false" formControlName="address" [checked]="settingsForm.controls.adddress.controls.booleanAddress.value === 'false'">Override
Run Code Online (Sandbox Code Playgroud)

我无法在 div 或 section 标签的 formgroupname 上使用 disabled 或 readonly 。我可以在组件类中的 formcontrol 名称上申请,但要求是在组级别申请禁用。

如何禁用整个组?

我正在使用 Angular 4。

html angular

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