NativeScript 使用 Vue 获取当前的 android 上下文?

Posted

技术标签:

【中文标题】NativeScript 使用 Vue 获取当前的 android 上下文?【英文标题】:NativeScript get current android context with Vue? 【发布时间】:2019-04-22 05:25:31 【问题描述】:

我正在尝试使用需要上下文来实例化 UI 对象的本机映射库,我该如何传递它?

native 函数是 android.view.View 的扩展,它需要的参数是一个 Context。

参考:https://developers.arcgis.com/android/latest/api-reference/reference/com/esri/arcgisruntime/mapping/view/MapView.html#MapView(android.content.Context)

Example.vue:

<template>
    <Page class="page">
        <StackLayout>
            <Placeholder @creatingView="creatingView"/>
         </StackLayout>
    </Page>
</template>

<script>
    export default 
        methods: 
            creatingView(args)
                //This is where I need the context as a parameter
                const nativeView = new com.esri.arcgisruntime.mapping.view.MapView(this.context);
                args.view = nativeView;                    
            
        
    ;
</script>

【问题讨论】:

【参考方案1】:

无论您使用什么风格/框架,您都可以使用应用程序上下文,

import * as application from "application";

const context = application.android.context;

【讨论】:

【参考方案2】:

您可以从createView 事件参数中获取当前的android 上下文。

methods: 
       creatingView(args)
           const nativeView = new com.esri.arcgisruntime.mapping.view.MapView(args.context);
           args.view = nativeView;                    
       

【讨论】:

以上是关于NativeScript 使用 Vue 获取当前的 android 上下文?的主要内容,如果未能解决你的问题,请参考以下文章

从 nativescript-vue 中的 textChange 事件获取名称

NativeScript Vue - VueX 不工作:无法读取未定义的属性获取器

Nativescript Vue:从ListView中的itemTap获取数组中的项目

解析对象数组在 (Nativescript) Vue 中不是反应式的

NativeScript Vue中的重新排序列表

如何在 Nativescript-Vue 中使用 nativescript-drawingpad?