在 ionic 4 中使用 .js 文件
Use .js file in ionic 4
我是 ionic 新手,我想在一页中使用 .js
文件
我有一个 .js
文件,它在 canvas、
中创建气泡
我想做的是,想在我的 ionic 4 项目中使用那个 .js
文件并在我的主页上显示气泡。
这是我要使用的代码笔的Link
我在 'assets/js/bubblefile.js'
中创建了文件,但我不知道如何在我的 home.html
或 home.ts
中使用 'bubblefile.js'
文件?下面是我的代码。
已编辑
home.html
代码:
<ion-header>
<ion-toolbar>
<ion-title>
Ionic Blank
</ion-title>
</ion-toolbar>
</ion-header>
<ion-content>
<script src="assets/js/bubblefile.js"></script>
</ion-content>
home.ts
代码
import { Component } from '@angular/core';
import './assets/js/bubblefile';
@Component({
selector: 'app-home',
templateUrl: 'home.page.html',
styleUrls: ['home.page.scss'],
})
export class HomePage {
}
bubblefile.js代码
var nodes = new vis.DataSet([
{label: "Pop"},
{label: "Alternative"},
{label: "Rock"},
{label: "Jazz"},
{label: "Hits"},
{label: "Dance"},
{label: "Metal"},
{label: "Experimental"},
{label: "Rap"},
{label: "Electronic"},
]);
var edges = new vis.DataSet();
var container = document.getElementById('bubbles');
var data = {
nodes: nodes,
edges: edges
};
var options = {
nodes: {borderWidth:0,shape:"circle",color:{background:'#F92C55', highlight:{background:'#F92C55', border: '#F92C55'}},font:{color:'#fff'}},
physics: {
stabilization: false,
minVelocity: 0.01,
solver: "repulsion",
repulsion: {
nodeDistance: 40
}
}
};
var network = new vis.Network(container, data, options);
// Events
network.on("click", function(e) {
if (e.nodes.length) {
var node = nodes.get(e.nodes[0]);
// Do something
nodes.update(node);
}
});
export { nodes, edges, container, data, options, network };
项目结构
如有任何帮助或建议,我们将不胜感激,
谢谢
如果您想在 HTML 文件中使用它:
<script src="assets/js/bubblefile.js"></script>
如果您想在 JavaScript/TypeScript 文件中使用它:
将此添加到您的 bubblefile.js
的底部:
export { nodes, edges, container, data, options, network };
在您要使用它的文件顶部:
import "./assets/js/bubblefile";
home.html代码:
<ion-header>
<ion-toolbar>
<ion-title>
Ionic Blank
</ion-title>
</ion-toolbar>
</ion-header>
<ion-content>
<script src="assets/js/bubblefile.js"></script>
</ion-content>
home.ts代码
import { Component,OnInit } from '@angular/core';
import * as bubble from './assets/js/bubble';
declare var bubble: any;
@Component({
selector: 'app-home',
templateUrl: 'home.page.html',
styleUrls: ['home.page.scss'],
})
export class HomePage implements OnInit{
ngOninit(){
bubble();
}
}
bubble.js代码
var bubble = (function(){
var nodes = new vis.DataSet([
{label: "Pop"},
{label: "Alternative"},
{label: "Rock"},
{label: "Jazz"},
{label: "Hits"},
{label: "Dance"},
{label: "Metal"},
{label: "Experimental"},
{label: "Rap"},
{label: "Electronic"},
]);
var edges = new vis.DataSet();
var container = document.getElementById('bubbles');
var data = {
nodes: nodes,
edges: edges
};
var options = {
nodes: {borderWidth:0,shape:"circle",color:{background:'#F92C55', highlight:{background:'#F92C55', border: '#F92C55'}},font:{color:'#fff'}},
physics: {
stabilization: false,
minVelocity: 0.01,
solver: "repulsion",
repulsion: {
nodeDistance: 40
}
}
};
var network = new vis.Network(container, data, options);
// Events
network.on("click", function(e) {
if (e.nodes.length) {
var node = nodes.get(e.nodes[0]);
// Do something
nodes.update(node);
}
});
export { nodes, edges, container, data, options, network };
})
来自@sivakumar 的回答,我得到了一些使用 .js 文件的技巧
home.html代码:
<ion-header>
<ion-toolbar>
<ion-title>
Music Bubble
</ion-title>
</ion-toolbar>
</ion-header>
<ion-content>
<div id="bubbles">
</div>
</ion-content>
home.ts代码:
import { Component, OnInit } from '@angular/core';
declare var bubble: any;
@Component({
selector: 'app-home',
templateUrl: 'home.page.html',
styleUrls: ['home.page.scss'],
})
export class HomePage implements OnInit {
constructor() {
}
ngOnInit(): void {
bubble();
}
}
bubblefile.js代码:
var bubble = (function(){
var nodes = new vis.DataSet([
{label: "Pop"},
{label: "Alternative"},
{label: "Rock"},
{label: "Jazz"},
{label: "Hits"},
{label: "Dance"},
{label: "Metal"},
{label: "Experimental"},
{label: "Rap"},
{label: "Electronic"},
]);
var edges = new vis.DataSet();
var container = document.getElementById('bubbles');
var data = {
nodes: nodes,
edges: edges
};
var options = {
nodes: {borderWidth:0,shape:"circle",color:{background:'#F92C55', highlight:{background:'#F92C55', border: '#F92C55'}},font:{color:'#fff'}},
physics: {
stabilization: false,
minVelocity: 0.01,
solver: "repulsion",
repulsion: {
nodeDistance: 40
}
}
};
var network = new vis.Network(container, data, options);
// Events
network.on("click", function(e) {
if (e.nodes.length) {
var node = nodes.get(e.nodes[0]);
// Do something
nodes.update(node);
}
});
})
有用于加载异步 JavaScript 文件的库。
https://www.npmjs.com/package/scriptjs
安装包:
npm i scriptjs
然后像下面这样在任何地方使用它:
import { get } from 'scriptjs';
ngOnInit() {
get("assets/js/searchEmp.js", () => {
getSerchInspContext = this;
loadSearchEmp();
});}`
或
您可以简单地使用 jquery 方法在 header.
中添加或删除脚本标签
要添加 .js 文件,请在 ngOnInit() 下调用以下行:
$('head').append('<script async src="assets/js/search.js"></script>');
删除 .js 文件:
document.querySelector('script[src="assets/js/search.js"]').remove();
我是 ionic 新手,我想在一页中使用 .js
文件
我有一个 .js
文件,它在 canvas、
我想做的是,想在我的 ionic 4 项目中使用那个 .js
文件并在我的主页上显示气泡。
这是我要使用的代码笔的Link
我在 'assets/js/bubblefile.js'
中创建了文件,但我不知道如何在我的 home.html
或 home.ts
中使用 'bubblefile.js'
文件?下面是我的代码。
已编辑
home.html
代码:
<ion-header>
<ion-toolbar>
<ion-title>
Ionic Blank
</ion-title>
</ion-toolbar>
</ion-header>
<ion-content>
<script src="assets/js/bubblefile.js"></script>
</ion-content>
home.ts
代码
import { Component } from '@angular/core';
import './assets/js/bubblefile';
@Component({
selector: 'app-home',
templateUrl: 'home.page.html',
styleUrls: ['home.page.scss'],
})
export class HomePage {
}
bubblefile.js代码
var nodes = new vis.DataSet([
{label: "Pop"},
{label: "Alternative"},
{label: "Rock"},
{label: "Jazz"},
{label: "Hits"},
{label: "Dance"},
{label: "Metal"},
{label: "Experimental"},
{label: "Rap"},
{label: "Electronic"},
]);
var edges = new vis.DataSet();
var container = document.getElementById('bubbles');
var data = {
nodes: nodes,
edges: edges
};
var options = {
nodes: {borderWidth:0,shape:"circle",color:{background:'#F92C55', highlight:{background:'#F92C55', border: '#F92C55'}},font:{color:'#fff'}},
physics: {
stabilization: false,
minVelocity: 0.01,
solver: "repulsion",
repulsion: {
nodeDistance: 40
}
}
};
var network = new vis.Network(container, data, options);
// Events
network.on("click", function(e) {
if (e.nodes.length) {
var node = nodes.get(e.nodes[0]);
// Do something
nodes.update(node);
}
});
export { nodes, edges, container, data, options, network };
项目结构
如有任何帮助或建议,我们将不胜感激,
谢谢
如果您想在 HTML 文件中使用它:
<script src="assets/js/bubblefile.js"></script>
如果您想在 JavaScript/TypeScript 文件中使用它:
将此添加到您的 bubblefile.js
的底部:
export { nodes, edges, container, data, options, network };
在您要使用它的文件顶部:
import "./assets/js/bubblefile";
home.html代码:
<ion-header>
<ion-toolbar>
<ion-title>
Ionic Blank
</ion-title>
</ion-toolbar>
</ion-header>
<ion-content>
<script src="assets/js/bubblefile.js"></script>
</ion-content>
home.ts代码
import { Component,OnInit } from '@angular/core';
import * as bubble from './assets/js/bubble';
declare var bubble: any;
@Component({
selector: 'app-home',
templateUrl: 'home.page.html',
styleUrls: ['home.page.scss'],
})
export class HomePage implements OnInit{
ngOninit(){
bubble();
}
}
bubble.js代码
var bubble = (function(){
var nodes = new vis.DataSet([
{label: "Pop"},
{label: "Alternative"},
{label: "Rock"},
{label: "Jazz"},
{label: "Hits"},
{label: "Dance"},
{label: "Metal"},
{label: "Experimental"},
{label: "Rap"},
{label: "Electronic"},
]);
var edges = new vis.DataSet();
var container = document.getElementById('bubbles');
var data = {
nodes: nodes,
edges: edges
};
var options = {
nodes: {borderWidth:0,shape:"circle",color:{background:'#F92C55', highlight:{background:'#F92C55', border: '#F92C55'}},font:{color:'#fff'}},
physics: {
stabilization: false,
minVelocity: 0.01,
solver: "repulsion",
repulsion: {
nodeDistance: 40
}
}
};
var network = new vis.Network(container, data, options);
// Events
network.on("click", function(e) {
if (e.nodes.length) {
var node = nodes.get(e.nodes[0]);
// Do something
nodes.update(node);
}
});
export { nodes, edges, container, data, options, network };
})
来自@sivakumar 的回答,我得到了一些使用 .js 文件的技巧
home.html代码:
<ion-header>
<ion-toolbar>
<ion-title>
Music Bubble
</ion-title>
</ion-toolbar>
</ion-header>
<ion-content>
<div id="bubbles">
</div>
</ion-content>
home.ts代码:
import { Component, OnInit } from '@angular/core';
declare var bubble: any;
@Component({
selector: 'app-home',
templateUrl: 'home.page.html',
styleUrls: ['home.page.scss'],
})
export class HomePage implements OnInit {
constructor() {
}
ngOnInit(): void {
bubble();
}
}
bubblefile.js代码:
var bubble = (function(){
var nodes = new vis.DataSet([
{label: "Pop"},
{label: "Alternative"},
{label: "Rock"},
{label: "Jazz"},
{label: "Hits"},
{label: "Dance"},
{label: "Metal"},
{label: "Experimental"},
{label: "Rap"},
{label: "Electronic"},
]);
var edges = new vis.DataSet();
var container = document.getElementById('bubbles');
var data = {
nodes: nodes,
edges: edges
};
var options = {
nodes: {borderWidth:0,shape:"circle",color:{background:'#F92C55', highlight:{background:'#F92C55', border: '#F92C55'}},font:{color:'#fff'}},
physics: {
stabilization: false,
minVelocity: 0.01,
solver: "repulsion",
repulsion: {
nodeDistance: 40
}
}
};
var network = new vis.Network(container, data, options);
// Events
network.on("click", function(e) {
if (e.nodes.length) {
var node = nodes.get(e.nodes[0]);
// Do something
nodes.update(node);
}
});
})
有用于加载异步 JavaScript 文件的库。 https://www.npmjs.com/package/scriptjs
安装包:
npm i scriptjs
然后像下面这样在任何地方使用它:
import { get } from 'scriptjs';
ngOnInit() {
get("assets/js/searchEmp.js", () => {
getSerchInspContext = this;
loadSearchEmp();
});}`
或
您可以简单地使用 jquery 方法在 header.
中添加或删除脚本标签要添加 .js 文件,请在 ngOnInit() 下调用以下行:
$('head').append('<script async src="assets/js/search.js"></script>');
删除 .js 文件:
document.querySelector('script[src="assets/js/search.js"]').remove();