如何从另一个脚本调用变量来执行函数
How can I call a variable from another script to execute a function
你好,我有一个名为 'script.js' 的脚本,问题是我那里有很多函数,我需要在 angular.
的开头执行这个函数
var appMaster = {
preLoader: function(){
},
smoothScroll: function() {
}
}
但我需要调用这个变量 appMaster
import '../../assets/js/script.js';
@Component({
selector: 'app-home',
templateUrl: './home.component.html',
styleUrls: ['./home.component.css'],
encapsulation: ViewEncapsulation.None
})
export class HomeComponent implements OnInit {
constructor() { }
ngOnInit() {
appMaster.preLoader();
appMaster.smoothScroll();
}
}
错误是appMaster没有未声明的变量。我怎样才能执行其他脚本中的函数?
如果你想在别处使用它,你需要从你的脚本文件中导出 appMaster 变量。
export let appMaster = {
preLoader: function(){
},
smoothScroll: function() {
}
};
import {appMaster} from '../../assets/js/script.js';
@Component({
selector: 'app-home',
templateUrl: './home.component.html',
styleUrls: ['./home.component.css'],
encapsulation: ViewEncapsulation.None
})
export class HomeComponent implements OnInit {
constructor() { }
ngOnInit() {
appMaster.preLoader();
appMaster.smoothScroll();
}
}
希望您喜欢使用 export/import 语句。
如果是,那么改变你 script.js 并使用 export
var appMaster = {
preLoader: function(){},
smoothScroll: function() {}
}
export default appMaster;
在组件文件中使用 import
import anyName from "./path/to/file";
从 script.js 调用任何函数,例如
anyName.preLoader()
像这样尝试:
在项目资产的以下位置创建名为 javascript 的文件 => js => script.js
common.js
var comman = (function() {
return {
masonryBuild: function() {
console.log('preLoader');
}
}
})(comman || {})
打开 .angular-cli.json 文件然后添加外部 javascript 文件路径如下
"scripts": [
"../src/assets/js/comman.js"
]
在您的打字稿中声明脚本变量名称,例如:
component.ts
declare var comman: any;
export class Component {
ngOnInit() {
comman.masonryBuild();
}
}
You can call varibale from anthoer script in Angular application.
Step 1. Create demo.js file in assests/javascript folder.
export function test1(){
console.log('Calling test 1 function');
}
Step 2. Create demo.d.ts file in assests/javascript folder.
export declare function test1();
Step 3. Use it in your component
//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());
}
}
Note: js and .d.ts file name shoule be same
你好,我有一个名为 'script.js' 的脚本,问题是我那里有很多函数,我需要在 angular.
的开头执行这个函数var appMaster = {
preLoader: function(){
},
smoothScroll: function() {
}
}
但我需要调用这个变量 appMaster
import '../../assets/js/script.js';
@Component({
selector: 'app-home',
templateUrl: './home.component.html',
styleUrls: ['./home.component.css'],
encapsulation: ViewEncapsulation.None
})
export class HomeComponent implements OnInit {
constructor() { }
ngOnInit() {
appMaster.preLoader();
appMaster.smoothScroll();
}
}
错误是appMaster没有未声明的变量。我怎样才能执行其他脚本中的函数?
如果你想在别处使用它,你需要从你的脚本文件中导出 appMaster 变量。
export let appMaster = {
preLoader: function(){
},
smoothScroll: function() {
}
};
import {appMaster} from '../../assets/js/script.js';
@Component({
selector: 'app-home',
templateUrl: './home.component.html',
styleUrls: ['./home.component.css'],
encapsulation: ViewEncapsulation.None
})
export class HomeComponent implements OnInit {
constructor() { }
ngOnInit() {
appMaster.preLoader();
appMaster.smoothScroll();
}
}
希望您喜欢使用 export/import 语句。
如果是,那么改变你 script.js 并使用 export
var appMaster = {
preLoader: function(){},
smoothScroll: function() {}
}
export default appMaster;
在组件文件中使用 import
import anyName from "./path/to/file";
从 script.js 调用任何函数,例如
anyName.preLoader()
像这样尝试:
在项目资产的以下位置创建名为 javascript 的文件 => js => script.js
common.js
var comman = (function() {
return {
masonryBuild: function() {
console.log('preLoader');
}
}
})(comman || {})
打开 .angular-cli.json 文件然后添加外部 javascript 文件路径如下
"scripts": [
"../src/assets/js/comman.js"
]
在您的打字稿中声明脚本变量名称,例如:
component.ts
declare var comman: any;
export class Component {
ngOnInit() {
comman.masonryBuild();
}
}
You can call varibale from anthoer script in Angular application.
Step 1. Create demo.js file in assests/javascript folder.
export function test1(){
console.log('Calling test 1 function');
}
Step 2. Create demo.d.ts file in assests/javascript folder.
export declare function test1();
Step 3. Use it in your component
//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());
}
}
Note: js and .d.ts file name shoule be same