Как передать значение из класса компонента в функцию, существующую вне класса в angular - PullRequest
0 голосов
/ 26 мая 2020

Мне нужно передать значение переменной из класса компонента в функцию вне класса. Я не могу этого добиться. Ниже мой код, и при нажатии кнопки я получаю ошибку "не могу прочитать разделение собственности неопределенного ". Пожалуйста, помогите мне с решением.

App component.ts

import {Component NgZone} from 'angular2/core';
import {GameButtonsComponent} from './buttons/game-buttons.component';
@Component({
  selector: 'my-app',
  template: ' blblb'
})
export class AppComponent {

divide:number=5;

constructor(){}

ngOnInit(){}

calc()

}

function calc()
{
 return 100/this.divide
}

html

<button (click)="calc()"></button>

Ответы [ 3 ]

0 голосов
/ 26 мая 2020

вы могли бы сделать это в своем компоненте ....

calc = calc.bind(this)

но то, что вы пытаетесь сделать здесь, очень подозрительно.

0 голосов
/ 26 мая 2020

вам не нужно указывать ключевое слово функции для определения функции. Попробуйте этот код ниже

ngOnInit(){}

this.calc()

}

calc()
{
 return 100/this.divide
}

Альтернативный способ объявите новую переменную с помощью ключевого слова let или const внутри родительского функционального блока и назначьте новую

ngOninit() {
const myVal = this.something;
this.calc(myVal)
}

calc(val)
{
 return 100/val;
}
0 голосов
/ 26 мая 2020

в приложении. Компонент

export class AppComponent {
  public divide = 3;
  public calc() {
    alert(calculate(this.divide));
  }
}
calculate = (divide) => 100/divide;

ИЛИ

export class AppComponent {
  public divide = 3;
  public calc() {
    calculate.call(this);
  }
}
calculate = function(){return 100/this.divide};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...