组件upperCaseComponent的模板中发生错误

时间:2019-12-20 06:49:54

标签: angularjs angular angular-template

它显示模板错误

错误:

  • 属性“结果”是私有的,只能在类“ upperCaseComponent”中访问
  • “ upperCaseComponent”中未声明属性“ mymessage”

我的html

<input type="text" [(ngModel)]="mymessage"
<button (click)="clickMe()"> send</button>
<br><br>
<h1>{{result | json}}</h1>

我的component.ts

import {Component} from "@angular/core";
export class MyComponent {
private result: any;
constructor()
}

4 个答案:

答案 0 :(得分:1)

所以这里的错误表明它无法在uppercase.component.ts中找到变量“ mymessage”

export class UpperCaseComponent {
 public results: any; // Change it private to public
 public mymessage: any;
}

如果您尝试访问模板中的变量,则需要将其声明为公共变量,就好像您将其声明为私有变量一样,只能在类中访问

答案 1 :(得分:0)

欢迎来到。

关于您的问题,能否请您在以下几点上给我一个确认,以便我可以更好地为您提供帮助。

  1. 能否请您编辑问题并在此处发布组件代码。 (您可以在此处屏蔽敏感数据)。

  2. 请检查您使用的绑定数据是否标记为private

答案 2 :(得分:0)

UpperCaseComponent.ts的结果字段为privateuppercase.component.html无法访问它,因此将结果字段设为公开。 至于myMessage字段,因为它没有在UpperCaseComponent.ts中的任何地方定义,所以我假设您想从父组件进行设置,然后在{{1中创建一个@Input myMessage字段}},并在模板中使用它。无论您要在哪里使用UpperCaseComponent,都可以将其与父组件绑定

答案 3 :(得分:0)

尝试这样

export class upperCaseComponent {
  result: any;
  mymessage: String;

  ...  // other code goes here
}