Nativescript Vue核心模块

时间:2019-06-19 13:16:28

标签: nativescript nativescript-vue nativescript-plugin

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

例如,此模块是我试图了解如何使用的模块: https://docs.nativescript.org/ns-framework-modules/platform

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

我来自使用Vue.js进行Web开发,我认为我要遵循的实现示例如下:

我认为这是Web的一个示例,与移动设备中的实现方式相同。

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

在移动设备中,如果我使用纯本机脚本,则导入很明显,但是在nativescript-vue中,我不知道如何使用它,我不知道它是否已默认配置。

2 个答案:

答案 0 :(得分:0)

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

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

如果您的Vue模块依赖于HTML Dom /文档/窗口/本地或会话存储等,那么它可能会失败。仅供参考,有nativescript-localstorage之类的插件可以模拟本地/会话存储之类的功能。

答案 1 :(得分:0)

在代码中将需要的模块导入到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存储。