Допустим, у меня есть объект, я читаю свойства объекта в своем представлении. Существует свойство объекта с именем 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- значение только для одностороннего связывания данных из представления с компонентом. Я работаю с угловым 4, и я не знаю, как с этим справиться, я пробовал что-то вроде этого: <input [(ngModel)]="role" value="{{myobject.role}}"/>
но, конечно, это не работает с ngModel
как я могу отправить значение свойства объекта из представления в составная часть?