Основные модули Nativescript Vue - PullRequest
0 голосов
/ 19 июня 2019

У меня проблемы с пониманием того, как использовать модули Framework в nativescript-vue.

Например, этот модуль, я пытаюсь понять, как использовать: https://docs.nativescript.org/ns-framework-modules/platform

Нужно ли декларировать в App.js / Main.js или в компоненте, который я собираюсь использовать?

Я пришел из Web Development с Vue.js, я думаю, что пример реализации, которому я пытаюсь следовать, будет выглядеть так:

Это пример Интернета, который я думаю о том же, что и способ реализации в мобильном телефоне.

В Интернете, если мне нужно было использовать Axios, я бы импортировал его в App.js / Main.js, чтобы оставаться глобальным в приложении или SPF, чтобы оставаться локальным и иметь возможность вызывать нужные компоненты.

В мобильном, если я использую чистый nativescript, импорт понятен, но в nativescript-vue я не могу понять, как его использовать, я не знаю, настроен ли он по умолчанию или нет.

Ответы [ 2 ]

0 голосов
/ 19 июня 2019

Импортируйте модули, где они вам нужны в вашем коде, как 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.

0 голосов
/ 19 июня 2019

Вы должны иметь возможность использовать все модули CommonJS Vue, которые вы использовали в Web, то есть он не должен зависеть от определенных функций браузера.

Вы все еще можете использовать Axios поскольку он внутренне использует ничего, кроме XMLHttpRequest , это допустимый глобальный объект в среде NativeScript.

Если у вас есть модуль Vue, который зависит от HTML Dom / document / window / local или хранилища сессии и т. д.тогда это может потерпеть неудачу.К вашему сведению, есть плагины, такие как nativescript-localstorage , которые имитируют такие функции, как локальное / сессионное хранилище.

...