import { Component } from '@angular/core';
import { ElectronService } from 'ngx-electron';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.sass']
})
export class AppComponent {
title = 'ae-test';
constructor(
private _ES: ElectronService,
) {}
minWindow() {
const window = this._ES.remote.getCurrentWindow();
window.minimize();
}
fullscreenWindow() {
const window = this._ES.remote.getCurrentWindow()
if (window.isFullScreen() == true) {
window.setFullScreen(false);
} else {
window.setFullScreen(true);
}
}
closeWindow() {
const window = this._ES.remote.getCurrentWindow();
window.minimize();
}
}
答案 0 :(得分:1)
在组件中定义一个新属性,并在构造函数中对其进行一次分配(如果实现了functions = {}
for name, value in Example.__dict__.items():
if callable(value):
functions[name] = value
print(functions)
生命周期挂钩,则甚至可以分配给{'func1': <function Example.func1 at 0x7f58c24c26a8>, 'func2': <function Example.func2 at 0x7f58c24c2620>}
):
ngOnInit
答案 1 :(得分:1)
将private window: any;
constructor(private _ES: ElectronService) {
this.window = this._ES.remote.getCurrentWindow();
}
变量添加到组件,并在from bs4 import BeautifulSoup as bs
html = '''
<div itemprop="description">
<p>Chars :
</br>- test1
</br>- test2
</br>- test3
</p>
</div>
'''
soup = bs(html, 'lxml')
data = [item.text.strip().replace('\n',' ') for item in soup.select('div[itemprop=description]')]
print(data)
钩子中对其进行设置:
window
答案 2 :(得分:1)
只需使用全局变量
import { Component } from '@angular/core';
import { ElectronService } from 'ngx-electron';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.sass']
})
export class AppComponent {
title = 'ae-test';
window = null;
constructor(
private _ES: ElectronService,
) {
this.window = this._ES.remote.getCurrentWindow();
}
minWindow() {
this.window.minimize();
}
fullscreenWindow() {
if (this.window.isFullScreen() == true) {
this.window.setFullScreen(false);
} else {
this.window.setFullScreen(true);
}
}
closeWindow() {
this.window.minimize();
}
}
您也可以在ngOnInit函数中初始化窗口
答案 3 :(得分:1)
您可以通过此答案解决您的问题。因此,这可能是一个重复的问题:
答案 4 :(得分:1)
只需创建一个共享的单例服务
@Injectable()
export class GlobalService {
private _data = {value:0};
getData(){
return this._data; // get ref of the data object
}
}
请注意,每次您请求数据时,您都会得到一个相同的对象,因此 除非您没有必要在组件主体中创建一个属性 想要在模板中显示对象
共享或单例服务只是添加到 AppModule 或 root 模块提供者列表
的服务@NgModule({
...
providers: [GlobalService]
})
export class AppModule { }
如果要从数据对象中呈现任何数据,则需要在组件主体a,b中创建一个属性来保存该对象的引用。
export class AComponent implements OnInit {
data;
constructor(public _g:GlobalService) { }
ngOnInit() {
this.data = this._g.getData()
}
}
如果您只想更改数据c组件
export class CComponent {
data;
constructor(public _g:GlobalService) { }
reset() {
const data = this._g.getData(); //
data.value = 0;
}
inc(){
const data = this._g.getData(); //
data.value +=10;
}
}
在全局服务
返回引用getData
中,对_data对象 不是每次都新建一个对象