android - 如何访问我的 ios 委托(delegate)类中的组件方法

标签 android ios nativescript nativescript-angular

如何从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/

相关文章:

ios - 确定 MKMapView 是否被拖动或缩放

iOS 键盘使 View 消失

ios - Nativescript:当应用程序进入后台时继续执行代码

android - 从 Dropbox 获取最新更改

android - 当我在拦截器中抛出异常时改造崩溃

objective-c - 如何将获取的对象保存到核心数据

ios - UIMainScreen 不是 NativeScript iOS 函数错误

angular - 无法从 nativescript worker 访问 Angular 服务

android - 如何在 Android OpenGL ES 中进行多重采样?

android - 将 InputImage 转换为 Bitmap 的有效方法