Angular: невозможно передать значение в файл javascript (. js) - PullRequest
0 голосов
/ 20 апреля 2020
  1. допустим, у меня есть функция добавления (int x, int y) в test1. js
  2. из angular, я получу пользовательские входные данные (int x, int y)
  3. теперь мне нужно передать x и y в test1. js и вызвать функцию add add внутри с этими 2 переменными и получить результат обратно в .ts любого компонента

Я выполнил все шаги 1 и 2.

Теперь для шага 3,

a) как я могу отправьте 2 значения из app.component.ts в этот файл. js?

b) как вызвать функцию, записанную в этом файле. js с определенными x и y ?

[я имею в виду, я знаю, как вызвать funtion in. js, но теперь я должен сделать это из файла .ts со значениями]

Отсюда я запускаю мой. js файл

пакет. json

{
  "name": "rest-test3",
  "version": "0.0.0",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e",
    "runServer": "node test1.js"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "~9.1.0",
    "@angular/common": "~9.1.0",
    "@angular/compiler": "~9.1.0",
    "@angular/core": "~9.1.0",
    "@angular/forms": "~9.1.0",
    "@angular/platform-browser": "~9.1.0",
    "@angular/platform-browser-dynamic": "~9.1.0",
    "@angular/router": "~9.1.0",
    "express": "^4.17.1",
    "install": "^0.13.0",
    "pg": "^8.0.2",
    "rxjs": "~6.5.4",
    "tslib": "^1.10.0",
    "zone.js": "~0.10.2"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~0.901.0",
    "@angular/cli": "~9.1.0",
    "@angular/compiler-cli": "~9.1.0",
    "@angular/language-service": "~9.1.0",
    "@types/node": "^12.11.1",
    "@types/jasmine": "~3.5.0",
    "@types/jasminewd2": "~2.0.3",
    "codelyzer": "^5.1.2",
    "jasmine-core": "~3.5.0",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "~4.4.1",
    "karma-chrome-launcher": "~3.1.0",
    "karma-coverage-istanbul-reporter": "~2.1.0",
    "karma-jasmine": "~3.0.1",
    "karma-jasmine-html-reporter": "^1.4.2",
    "protractor": "~5.4.3",
    "ts-node": "~8.3.0",
    "tslint": "~6.1.0",
    "typescript": "~3.8.3"
  }
}

Вы можете видеть в скрипте, у меня есть runServer переменная, которая вызывает файл. js. Теперь мне нужно вызвать функцию внутри этого файла с 2 переменными. Как я могу это сделать?

1 Ответ

1 голос
/ 20 апреля 2020

создайте test.js и поместите его в /src/assets

    export const add = function (x, y) {
      return x+y;
    }

. Теперь импортируйте этот js файл в Angular компонентов. На данный момент импортируйте файл в app.component.ts

import { Component } from '@angular/core';
import { add } from '../assets/myjs.js'

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  title = 'hallbooking-app';
  constructor() {
    const total = add(5,10);
    console.log(total);
  }

}

теперь вы в js файле можете импортировать в любой компонент и использовать его

...