【发布时间】:2018-07-06 11:44:24
【问题描述】:
我刚刚从 Angular JS 1.6 迁移到 Angular 6,而在 Angular 6 中创建应用程序 [(ngModel)]="number1" 指令用于 2 路数据绑定。一旦使用它,我的组件就会停止渲染,如果我使用(ngModel),组件就会渲染,但模型变量不会绑定任何数据。
如果我在组件 TS 代码public number1: number = 22; 中添加此代码,则该值永远不会绑定数据。
我的 typescript 版本是 2.9,它确实需要此代码 let we = "Hello" 并引发错误“Unexpected Token”。
Angular 是否像 Angular JS 一样创建变量,就像我们只在与 ng-Model 绑定的 HTML 中编写一个变量一样,该变量也被添加到 $scope 对象中,在 Angular 6 中是否也会发生同样的情况。
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-calculator',
templateUrl: './calculator.component.html',
styleUrls: ['./calculator.component.scss']
})
export class CalculatorComponent {
//var foo = 'Hello TypeScript!';
public number1: number = 22;
public number2: number = 22;
public result: number;
public add() {
alert(this.number1);
alert(this.number2);
this.result = this.number1 + this.number2;
}
}
<div class="container">
<div class="header">
<h2>
Calculator component
</h2>
</div>
<div class="grid">
<div class="row">
<div class="col-6">
<div class="operation">
<div class="row">
<div class="col-12">
<input type="number" placeholder="number" [(ngModel)]="number1">
</div>
</div>
<div class="row">
<div class="col-12">
<input type="number" placeholder="number" [(ngModel)]="number2">
</div>
</div>
<div>
<div class="col-12">
<button class="button" (click)="add()">
Add
</button>
</div>
</div>
</div>
</div>
<div class="col-6">
<div class="result">
<span>
Result : {{result}}
</span>
</div>
</div>
</div>
</div>
</div>
【问题讨论】:
-
可以在这里添加component.ts代码和compoent.html代码吗?
-
可以添加组件代码吗?
-
As soon as it is used my component stops rendering是抛出错误还是什么?FormsModule导入了吗? -
我没有看到您的代码有任何问题 stackblitz.com/edit/… 这可能是导致错误的其他原因
标签: angular typescript