如何从app组件访问一个方法到main.ts文件??
我正在使用 Nativescript angular 开发 android 和 ios 移动应用程序。我为应用程序 onResume 创建了一个 ios 委托(delegate)类。我想在我的 ios 委托(delegate)类中调用 native 脚本类组件方法。帮我实现功能
My ios delegate class:
import { android, ios, AndroidApplication, AndroidActivityBundleEventData } from "tns-core-modules/application";
import * as application from "tns-core-modules/application";
class MyDelegate1 extends UIResponder implements UIApplicationDelegate{
constructor(private sharedClass:sharedClass) {
super();
}
public static ObjCProtocols =[UIApplicationDelegate];
applicationWillEnterForeground(application:UIApplication):void{
application.notify({
eventName:"SampleFunction",
object:application
})
}
applicationDidEnterBackground(application:UIApplication):void{
console.log("applicationDidEnterBackground"+application);
}
}
我的 nativescript 组件类
import { Component, OnInit } from "@angular/core";
export class AppComponent implements OnInit {
constructor(){}
ngOnInit(){ }
SampleFunction(){
console.log("Will call from ios delegate class");
}
}
帮我解决这个问题。
最佳答案
您不应该直接从您的委托(delegate)调用 Component 方法。更好的做法是,在应用程序对象上触发一个事件并监听相同形式的 Angular 组件。
仅供引用,开箱即用地支持暂停/恢复等事件。
编辑:
在应用程序模块上触发事件,
import * as application from "tns-core-modules/application";
applicationWillEnterForeground(application:UIApplication):void{
application.notify({
eventName: "YourEventName",
object: application,
// Add any additional params that can be accessed from the event object by listener callback
});
}
关于android - 如何访问我的 ios 委托(delegate)类中的组件方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57955129/