【问题标题】:Want to access an external variable from js file into angular 2 ts file想要将 js 文件中的外部变量访问到 angular 2 ts 文件中
【发布时间】:2017-06-18 05:41:10
【问题描述】:

在我的 Angular 项目中,我编写了一个 js 文件以将一些值返回给 ts 文件。

var webGlObject = (function() { 
  return { 
    init: function() { 
      alert('webGlObject initialized');
    } 
  } 
})(webGlObject||{})
import { Component, OnInit } from '@angular/core';
import '../../../lib/jquery-3.2.1.min.js';
import '../../../server/getSummary.js';

declare var webGlObject: any;

@Component({
  selector: 'mop-designer-dashboard',
  templateUrl: 'mop-designer-dashboard.component.html',
  styleUrls: ['mop-designer-dashboard.component.css'],
})

export class MopDesignerDashboardComponent implements OnInit {

  debugger;
  scoreBoardList: any = [];
  breadcrumb: any = [];

  constructor() {

    /* prepare breadcrumb */
    this.breadcrumb = [
      {
        label: 'Mop Designer',
        href: '/#/mop-designer'
      }
    ];

    debugger;

    webGlObject.init();



  }

  ngOnInit() {
    console.log('test');
  }
}

但声明 var webGlObject: any;不创建任何对象 我收到以下错误:

> ZoneTask.invoke @ zone.js?fad3:339 VM292602:61 错误:未捕获(在承诺中):错误:错误:0:0 导致:未定义 webGlObject ReferenceError:未定义 webGlObject 在新的 MopDesignerDashboardComponent

【问题讨论】:

    标签: javascript angular typescript


    【解决方案1】:

    这是因为您将它创建为一个类并用作一个对象。 尝试这个: 将以下内容放入 js 文件中:

    var webGlObject = function() {
    this.init= function() {
      alert('webGlObject initialized');}}
    

    并在ts文件中创建一个实例:

    declare var webGlObject: any;
    export class YourComponent{
    constructor(){
        let wegObj = new webGlObject();
        wegObj.init();
      }
    }
    

    【讨论】:

      猜你喜欢
      • 2020-01-11
      • 2018-07-12
      • 2016-09-02
      • 2013-10-31
      • 1970-01-01
      • 1970-01-01
      • 2016-10-02
      • 1970-01-01
      相关资源
      最近更新 更多