Nativescript Vue 核心模块

Nativescript Vue Core Modules

我无法理解如何在 nativescript-vue 中使用框架模块。

例如这个模块,我想了解如何使用: https://docs.nativescript.org/ns-framework-modules/platform

我需要在 App.js / Main.js 或我将要使用的组件中声明吗?

我来自 Vue.js 的 Web 开发,我认为我尝试遵循的实现示例如下所示:

这是我认为与移动端实现方式相同的网络示例。

在网络上,如果我需要使用 Axios,我会将其导入 App.js / Main.js 以在应用程序中保持全局或 SPF 以保持本地并能够调用所需的组件.

在移动端,如果我使用纯nativescript,导入很清楚,但在nativescript-vue中,我无法理解如何使用它,我不知道它是否已经默认配置。

您应该能够使用您在 Web 中使用的所有 CommonJS Vue 模块,这意味着它不应该对浏览器特定功能有任何依赖性。

您可能仍然可以使用 Axios,因为它在内部仅使用 XMLHttpRequest,这是 NativeScript 环境中的有效全局对象。

如果你的 Vue 模块依赖于 HTML Dom / document / window / 本地或会话存储等,那么它可能会失败。仅供参考,有像 nativescript-localstorage 这样的插件可以模拟本地/会话存储等功能。

在代码中需要的地方导入模块,app.js 和 SPF。

app.js

import axios from "axios";
var platform = require("tns-core-modules/platform");

var instance = axios.create({ baseURL: "https://myendpoint.com" });
if (platform.isAndroid) { /* ... */ }

File.vue

import axios from "axios";
var platform = require("tns-core-modules/platform");

export default {
    methods: {
        androidFunc() {
            if (platform.isIOS) {
                axios.get("https://website.com/api/ios") // ...
            }
        }
    }
}

如果我需要全局的东西,我通常使用 Vue 实例属性(Vue.prototype.$myProperty)或 Vuex store。