Я хотел бы обновить текстовое свойство TextField программно, используя привязку данных angular2. От here похоже, что я установил [(ngModel)] = "email" в моем макете, а затем в своем коде добавьте электронное письмо. При текущей настройке я могу изменить свойство текста при загрузке, но если я попытаюсь изменить программное свойство программным путем с помощью кнопки, нажмите на изменения в сообщении электронной почты, которые не отражаются в текстовом свойстве TextField.NativeScript 2/Angular 2 Связывание данных [(ngModel)] Как обновить TextField программно.
import { Component, OnInit } from '@angular/core';
import { User } from '../../shared/user/user';
import { LoginModel } from '../../model/login/login-model';
import { HttpService } from '../../services/http/http-service';
@Component({
selector:'login',
templateUrl:'pages/login/login.component.html',
providers: [HttpService]
})
export class LoginComponent implements OnInit {
email:string = "[email protected]";
user: User;
//model: LoginModel;
constructor(private _httpService: Httpservice) {
//this.model = new LoginModel();
this.user = new User();
} //default constructor
ngOnInit() {}
onButtonTap() {
//alert("onButtonTap clicked ");
//this._mpixService.register(this.model.user);
this.email = "[email protected]";
alert("onButtonTap clicked " + this.email);
}
}
Мой взгляд
<ActionBar title="Login Mpix Tap To Print">
<ActionItem text="Login" android.systemIcon="ic_menu_share_holo_dark" ios.systemIcon="9" ios.position="right"></ActionItem>
</ActionBar>
<StackLayout>
<TextField hint="Email Address" keyboardType="email"
autocorrect="false" autocapitalization="none" [text]="email"></TextField>
<TextField hint="Password" secure="true" keyboardType="password"
autocorrect="false" autocapitalization="none" [(ngModel)]="password"></TextField>
<Button text="Sign In" (Tap)='onButtonTap()'></Button>
<Button text="Sign up for Mpix" [nsRouterLink]="['/signup']"></Button>
</StackLayout>
Я также пробовал вариации TextField посмотреть недвижимость
<TextField hint="Email Address" keyboardType="email" autocorrect="false" autocapitalization="none" [text]="email" (emailChange)="email=$event"></TextField>
<TextField hint="Email Address" keyboardType="email" autocorrect="false" autocapitalization="none" [(ngModel)]="email" [text]=email></TextField>
<TextField hint="Email Address" keyboardType="email" autocorrect="false" autocapitalization="none" [(ngModel)]="email">{{email}}</TextField>
В текстовом поле устанавливается в [email protected], когда интерфейс первой загрузке.
[(ngModel)] = "электронная почта" текст = {{}} электронная почта> также не работает с этим. – dsum27