我正在使用d3.js,希望有人能提出一种使打字稿工作像这样的方法;
import {loadbarchart} from "./javascript/charts/barchart";
import {loadscatterchart} from "./javascript/charts/scatterchart";
d3.json("data.json", function(error, data) {
loadbarchart();
loadscatterchart();
})
我希望做的是在单独的文件中创建几个图表,然后仅调用main.ts中d3.json函数中的所有函数.
当我尝试执行此操作时,将loadbarchart和loadcatterchart加载到d3.json函数之外.
通过进一步阅读,据我了解,以这种方式导入函数可能不在打字稿的范围内?
我希望有人能就如何实现这一目标提供一些建议.
谢谢
解决方法:
作为组织JavaScript代码的一种方式,模块的概念已经存在很长时间了.ECMAScript标准中的模块提供了一种方便的方法.
您可以将关键字export放入:
1.before declaring variables, functions and classes.
2.separately, while in braces indicates that it is exported.
export.file.js
export let one = 1;
export let two = 2;
要么
let one = 1;
let two = 2;
export {one, two};
要么
export class User {
constructor(name) {
this.name = name;
}
};
export function sayHi() {
alert("Hello!");
};
进口
import {one, two} from "export.file";//it is not necessary to specify extension js
alert( `${one} and ${two}` ); // 1 and 2
使用时
import {loadbarchart} from "./javascript/charts/barchart";
you must be sure that the file javascript/charts/barchart
exporte {loadbarchart,loadscatterchart,...};
只有这样
d3.json("data.json", function(error, data) {
loadbarchart();
loadscatterchart();
})
原文地址:https://codeday.me/bug/20191026/1940128.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。