Другой вариант заключался бы в инкапсуляции вашей вспомогательной функции в объект. Вот ваш код с добавленной функциональностью:
import { Component, OnInit } from "@angular/core";
import { FormBuilder, FormGroup } from "@angular/forms";
@Component({
selector: "my-app",
templateUrl: "./app.component.html",
styleUrls: ["./app.component.css"]
})
export class AppComponent implements OnInit {
name = "Angular";
staff: Array<any> = [""];
myHelper : Helper;
bmrForm: FormGroup;
dropdownSettings: any = {};
ShowFilter = false;
limitSelection = false;
constructor(private _fb: FormBuilder) {
}
ngOnInit() {
this.bmrForm = this._fb.group({
staff: [""]
});
this.dropdownSettings = {
singleSelection: false,
idField: "item_id",
textField: "item_text",
selectAllText: "Select All",
unSelectAllText: "Un-Select All",
itemsShowLimit: 3,
allowSearchFilter: this.ShowFilter
};
this.staff = [
{
item_id: "MGS",
item_text: "Michael Gary Scott"
},
{
item_id: "DKS",
item_text: "Dwight Kurt Schrute"
}
];
this.myHelper = new Helper();
for (let i = 0; i < this.staff.length; i++) {
console.log(this.staff[i].item_id);
}
}
onSearchClicked() {
console.log(this.bmrForm.value);
this.myHelper.expression(this.bmrForm,this.staff);
}
toogleShowFilter() {
this.ShowFilter = !this.ShowFilter;
this.dropdownSettings = Object.assign({}, this.dropdownSettings, { allowSearchFilter: this.ShowFilter });
}
handleLimitSelection() {
if (this.limitSelection) {
this.dropdownSettings = Object.assign({}, this.dropdownSettings, { limitSelection: 2 });
} else {
this.dropdownSettings = Object.assign({}, this.dropdownSettings, { limitSelection: null });
}
}
}
class Helper {
expression(bmrForm: FormGroup, staff: Array<any>) {
for (let i = 0; i < staff.length; i++) {
console.log(staff[i].item_id);
}
}
}
Таким образом, если количество вспомогательных функций растет, вы можете определить класс в другом месте и начать импортировать его там, где это необходимо. PD: bmrForm: FormGroup
не требуется в expression()