Javascript 如何从app.js文件中的组件类调用函数/方法?Nodejs
我是全新的,甚至不知道如何搜索它,我已经创建了菜单和子菜单,我想点击“加载”子菜单,它将从另一个组件js文件调用另一个方法/函数,如何从组件类调用App.js中的方法 App.js:Javascript 如何从app.js文件中的组件类调用函数/方法?Nodejs,javascript,node.js,Javascript,Node.js,我是全新的,甚至不知道如何搜索它,我已经创建了菜单和子菜单,我想点击“加载”子菜单,它将从另一个组件js文件调用另一个方法/函数,如何从组件类调用App.js中的方法 App.js: import "./app.scss"; import "./component/*/component.js"; import "./component/*/style.scss"; import registry from "./module
import "./app.scss";
import "./component/*/component.js";
import "./component/*/style.scss";
import registry from "./modules/component-registry";
import fs from "fs";
import util from "util";
import GithubUserFavorites from "../src/component/github-user-favorites/component"
document.addEventListener('DOMContentLoaded', () => registry.listen())
const readFile = util.promisify(fs.readFile);
var menu = new nw.Menu({type: 'menubar'});
menu.createMacBuiltin('GITHUB SEARCH')
var submenu = new nw.Menu();
submenu.append(new nw.MenuItem({label: 'Load', click:function () {
readFile('/Users/serikovaaiman/Downloads/1.txt', 'utf-8').then((data)=>{
localStorage.setItem("favorites", JSON.stringify(JSON.parse(data.toString())));
// this.fire('reading');
GithubUserFavorites.smth();
// GithubUserFavorites.viewModel().favorites =JSON.parse(localStorage.getItem('favorites'));
})
}}));
menu.append(new nw.MenuItem({label: 'Favorites', submenu: submenu}));
nw.Window.get().menu = menu;
import Component from "../../modules/component";
import twig from "./template.twig"
export default (class GithubUserFavorites extends Component{
constructor(element){
super(element);
this.favorites = {};
// this.listen('reading',this.smth())
}
get viewModel(){
return {
favorites: JSON.parse(localStorage.getItem('favorites'))
}
}
smth(){
console.log("test");
this.viewModel.favorites=JSON.parse(localStorage.getItem('favorites'));
this.render();
}
add(user){
console.log(this.favorites);
this.favorites[user.login] = user;
localStorage.setItem("favorites",JSON.stringify(this.favorites));
this.render();
}
onRender(){
this.$$('user').on.click((event, target)=>{
let login = target.dataset.login;
delete this.favorites[login];
localStorage.setItem("favorites",JSON.stringify(this.favorites));
this.viewModel.favorites=JSON.parse(localStorage.getItem('favorites'));
this.render();
});
}
}).register(twig, 'github-user-favorites');
组件:
import "./app.scss";
import "./component/*/component.js";
import "./component/*/style.scss";
import registry from "./modules/component-registry";
import fs from "fs";
import util from "util";
import GithubUserFavorites from "../src/component/github-user-favorites/component"
document.addEventListener('DOMContentLoaded', () => registry.listen())
const readFile = util.promisify(fs.readFile);
var menu = new nw.Menu({type: 'menubar'});
menu.createMacBuiltin('GITHUB SEARCH')
var submenu = new nw.Menu();
submenu.append(new nw.MenuItem({label: 'Load', click:function () {
readFile('/Users/serikovaaiman/Downloads/1.txt', 'utf-8').then((data)=>{
localStorage.setItem("favorites", JSON.stringify(JSON.parse(data.toString())));
// this.fire('reading');
GithubUserFavorites.smth();
// GithubUserFavorites.viewModel().favorites =JSON.parse(localStorage.getItem('favorites'));
})
}}));
menu.append(new nw.MenuItem({label: 'Favorites', submenu: submenu}));
nw.Window.get().menu = menu;
import Component from "../../modules/component";
import twig from "./template.twig"
export default (class GithubUserFavorites extends Component{
constructor(element){
super(element);
this.favorites = {};
// this.listen('reading',this.smth())
}
get viewModel(){
return {
favorites: JSON.parse(localStorage.getItem('favorites'))
}
}
smth(){
console.log("test");
this.viewModel.favorites=JSON.parse(localStorage.getItem('favorites'));
this.render();
}
add(user){
console.log(this.favorites);
this.favorites[user.login] = user;
localStorage.setItem("favorites",JSON.stringify(this.favorites));
this.render();
}
onRender(){
this.$$('user').on.click((event, target)=>{
let login = target.dataset.login;
delete this.favorites[login];
localStorage.setItem("favorites",JSON.stringify(this.favorites));
this.viewModel.favorites=JSON.parse(localStorage.getItem('favorites'));
this.render();
});
}
}).register(twig, 'github-user-favorites');
我要调用的方法是smth();
我尝试在组件寄存器中使用此选项:
this.listen('reading',this.smth())
在app.js中:
this.fire('reading');