首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >角2:外部js文件变量可以从组件访问。

角2:外部js文件变量可以从组件访问。
EN

Stack Overflow用户
提问于 2017-11-18 13:57:21
回答 3查看 3.3K关注 0票数 0

我正在尝试将外部js文件导入到我的组件中。

external.js

代码语言:javascript
运行
复制
var x=9;

component.ts

代码语言:javascript
运行
复制
import '../../assets/api/external.js';
declare let x: any;
....
console.log(x);

我得到了:

代码语言:javascript
运行
复制
ERROR ReferenceError: x is not defined

如何从组件访问x?它不会抱怨找不到js文件。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-11-18 14:27:59

请将您的脚本添加到角-cli.json中作为全局脚本。

代码语言:javascript
运行
复制
 "scripts": [
"../external.js",
"../node_modules/.....min.js",
"../node_modules/jspdf-autotable/dist/....js"
],

如果有帮助的话。以下是参考链接:https://github.com/angular/angular-cli/wiki/stories-global-scripts

票数 1
EN

Stack Overflow用户

发布于 2017-11-18 16:12:02

导入js没有将任何函数或类导出到组件。用于导入的MDN接口订阅import 'module_name'

只为副作用导入整个模块,而不导入任何内容。它运行模块的全局代码,但实际上不导入任何值。

因此,更改并添加类或函数,然后导出。

票数 1
EN

Stack Overflow用户

发布于 2017-11-18 18:52:30

您可以在角应用程序中从anthoer脚本中调用varibale。

步骤1.在assests/javascript文件夹中创建demo.js文件。

代码语言:javascript
运行
复制
export function test1(){
    console.log('Calling test 1 function');
}

步骤2.在assests/javascript文件夹中创建demo.d.ts文件。

代码语言:javascript
运行
复制
export declare function test1();

步骤3.在组件中使用它

代码语言:javascript
运行
复制
//User defined file path
import { test1 } from '../assets/javascript/demo'; 
 @Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  constructor() {
    console.log(test1());
  }
}

注意: js和.d.ts文件名应该相同

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47366887

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档