【问题标题】:Angular: can't pass value to javascript (.js) fileAngular:无法将值传递给 javascript (.js) 文件
【发布时间】:2020-08-03 01:17:30
【问题描述】:
  1. 假设我在 test1.js 中有一个 add(int x, int y) 函数
  2. 从角度,我会得到用户输入(int x,int y)
  3. 现在我需要将 xy 传递给 test1.js 并使用这 2 个变量在其中调用 add add 函数并获得结果返回任何组件的 .ts

我已经完成了第 1 步和第 2 步。

现在是第 3 步,

a)如何将 app.component.ts 中的 2 个值发送到该 .js 文件?

b)如何用特定的xy调用写在那个.js文件中的函数?

[我的意思是我知道如何在 .js 中调用函数,但现在我必须从具有值的 .ts 文件中执行此操作]

从这里我运行我的 .js 文件

package.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"
  }
}

您可以在脚本中看到,我有调用 .js 文件的 runServer 变量。现在我需要在这个文件中调用一个带有 2 个变量的函数。我该怎么做?

【问题讨论】:

  • 请问,我可以知道原因,为什么我被否决了吗?

标签: javascript node.js angular typescript angular-components


【解决方案1】:

创建test.js 并将其放入/src/assets

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

现在在 Angular 组件中导入这个 js 文件 现在将文件导入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文件中可以导入任何组件并使用它

【讨论】:

    猜你喜欢
    • 2013-06-24
    • 2015-06-30
    • 1970-01-01
    • 1970-01-01
    • 2015-10-17
    • 1970-01-01
    相关资源
    最近更新 更多