在视图中设置隐藏元素的值并将其发送到组件Angular 2
Set value of hidden element in View and send it to component Angular 2
假设我有一个对象,我正在我的视图中读取对象属性。
有一个名为 role
的对象的 属性,我想将该值从我的视图发送到我的组件,我需要在我的组件中使用该值做一些工作...
这是我的服务:
import { Injectable } from '@angular/core';
@Injectable()
export class Globals {
role: string = 'test role';
}
这是我的组件:
import { Component } from '@angular/core'
import { Globals } from './globals'
@Component({
selector: 'component2',
template: `
<div>
<input [(ngModel)]="role"/>
<button (click)="changedRole()">apply</button>
</div>`
})
export class Component2 {
private role: string;
constructor(private globals: Globals) {
this.role = globals.role;
}
private changedRole() {
this.globals.role = this.role;
}
}
现在,有些事情,我对显示 role
值不感兴趣,所以我猜在隐藏输入中会更好,我读过 ngModel 不适用于隐藏字段,因为它的目标是双向数据绑定,在这种情况下,我只想使用对象的 role
值设置输入(或任何类型的标签)的值,并将其发送到组件,我读到 angular 1 存在 ng-value,仅用于从视图到组件的一种数据绑定方式。我正在与 angular 4 合作,但我不知道如何处理这个问题,我尝试过这样的事情:<input [(ngModel)]="role" value="{{myobject.role}}"/>
但当然它不适用于 ngModel
如何我可以将对象的 属性 值从视图发送到组件吗?
可以使用[value]
绑定值
<input [value]="role" type="hidden" />
我不太确定我理解你想要做什么,但你可以使用名为
的事件绑定
<input (change)="role = $event.value" [value]="role" />
好吧,阅读更多内容,受到您的回答的启发,我在 pluralsight 中找到了一个关于从视图到组件的数据绑定的不错的视频。我最终在 html:
中这样做了
<a (click)="select(person.role)">{{person.Title}}</a>
在我的组件中,我刚刚添加了这个方法:
select(role: string) {
console.log('the role selected was: ' + role);
}
成功了。
假设我有一个对象,我正在我的视图中读取对象属性。
有一个名为 role
的对象的 属性,我想将该值从我的视图发送到我的组件,我需要在我的组件中使用该值做一些工作...
这是我的服务:
import { Injectable } from '@angular/core';
@Injectable()
export class Globals {
role: string = 'test role';
}
这是我的组件:
import { Component } from '@angular/core'
import { Globals } from './globals'
@Component({
selector: 'component2',
template: `
<div>
<input [(ngModel)]="role"/>
<button (click)="changedRole()">apply</button>
</div>`
})
export class Component2 {
private role: string;
constructor(private globals: Globals) {
this.role = globals.role;
}
private changedRole() {
this.globals.role = this.role;
}
}
现在,有些事情,我对显示 role
值不感兴趣,所以我猜在隐藏输入中会更好,我读过 ngModel 不适用于隐藏字段,因为它的目标是双向数据绑定,在这种情况下,我只想使用对象的 role
值设置输入(或任何类型的标签)的值,并将其发送到组件,我读到 angular 1 存在 ng-value,仅用于从视图到组件的一种数据绑定方式。我正在与 angular 4 合作,但我不知道如何处理这个问题,我尝试过这样的事情:<input [(ngModel)]="role" value="{{myobject.role}}"/>
但当然它不适用于 ngModel
如何我可以将对象的 属性 值从视图发送到组件吗?
可以使用[value]
绑定值
<input [value]="role" type="hidden" />
我不太确定我理解你想要做什么,但你可以使用名为
的事件绑定<input (change)="role = $event.value" [value]="role" />
好吧,阅读更多内容,受到您的回答的启发,我在 pluralsight 中找到了一个关于从视图到组件的数据绑定的不错的视频。我最终在 html:
中这样做了 <a (click)="select(person.role)">{{person.Title}}</a>
在我的组件中,我刚刚添加了这个方法:
select(role: string) {
console.log('the role selected was: ' + role);
}
成功了。