小编Pra*_*nth的帖子

如何将 JSON 对象传递给角度自定义元素

我使用 CUSTOM_ELEMENTS_SCHEMA 在 angular 7 中创建了一个自定义元素。我的 app.module.ts 如下:

    export class AppModule {
     constructor(private injector: Injector) {}
     ngDoBootstrap() {
       this.registerCustomElements();
     }

    registerCustomElements() {
      const HeaderElement = createCustomElement(AppComponent, {
        injector: this.injector
      });
      const FooterElement = createCustomElement(BcAngFooterComponent, {
        injector: this.injector
      });
      customElements.define("header-element", HeaderElement);
      customElements.define("footer-element", FooterElement);
  }
}
Run Code Online (Sandbox Code Playgroud)

我在 app.component.html 中引用了这些自定义元素,如下所示:

<footer-element footer-data="footerInputData"></footer-element>
Run Code Online (Sandbox Code Playgroud)

这个 footerInputData 在我的 app.component.ts 文件中作为字符串引用。

 export class AppComponent {
  footerInputData: any = {title: "Page Title"};
}
Run Code Online (Sandbox Code Playgroud)

在我的自定义元素的 HTML 中,我使用插值来显示作为输入传递给它的数据。

<div class="nav-list-wrap">
        {{footerData}}
</div>
Run Code Online (Sandbox Code Playgroud)

当页面加载时,我没有看到显示的对象。相反,它显示的是“footerInputData”。

如何让我的自定义元素从我的 app.component.ts 文件中获取数据,而不是将数据显示为字符串。

另外,JSON 对象可以传递给我的自定义元素吗?

javascript typescript custom-element angular angular7

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

使用 angular2 的 DD/MM/YYYY 格式的日期验证模式

如何使用 angular2 Validator.pattern 为 DD/MM/YYYY 格式的日期添加验证模式。

我有“必需的”验证器。找不到日期模式。代码如下:

this.txtDob = new Control("", Validators.compose([Validators.required]));
Run Code Online (Sandbox Code Playgroud)

angular

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

Angular 2 - 我们可以将JSON对象直接从typescript文件绑定到html输入值吗?

我的.ts文件中有以下代码.

yourInfoData: IYourInfoData; //IYourInfoData is my constructor

getYourInfoData() {
  $this = this;
  $this.yourInfoData = yourInfoDataResponse; //yourInfoDataResponseis my response from service.
}
Run Code Online (Sandbox Code Playgroud)

yourInfoDataResponses结构如下:

yourInfoDataResponse{
  "firstName" : "Xyz",
  "lastName" : "Abc"
}
Run Code Online (Sandbox Code Playgroud)

我可以直接访问this.yourInfoData以与html输入值绑定,如下所示:

<input type="text" [(ngModel)]="yourInfoData.firstName">
Run Code Online (Sandbox Code Playgroud)

这样做,我收到一个错误

找不到undefined的firstName.

有人能指出我在这里缺少什么.或者,还有其他方法来实现这一目标.

angular

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