Nativescript Vue борется за навигацию - PullRequest
0 голосов
/ 28 октября 2018

Я недавно работаю с NativeScript и не понимаю, как перемещаться по страницам / представлениям.К сожалению, кажется, что vue-router все еще не поддерживается, поэтому я смотрю на использование ручной маршрутизации.Тем не менее, у меня есть несколько компонентов vue в app \ components, и я не хочу помещать их все в одно vue, как показывает пример .

У меня это в первом просмотре страницы:

<script>
import pageB from "./PageB";

export default {
    methods: {
        onButtonTap() {
            //console.log("Page B Button was pressed");
            this.$navigateTo(pageB);
        }
    },
    created() {},

    data() {
        return {};
    },
    mounted() {}
};
</script>

но когда я нажимаю кнопку, я получаю сообщение:

[iPhone 8+]: The Preview app has terminated unexpectedly. Please run it again to get a detailed crash report. [iPhone 8+]: '{NSVue (Vue:
2.5.17 | NSVue: 2.0.0)} -> CreateElement(nativelabel)' 2018-10-28 13:54:15.823 nsplaydev[1294:331774] -[TNSLabel useLayoutToLayoutNavigationTransitions]: unrecognized selector sent to instance 0x10a909f00 2018-10-28 13:54:15.826 nsplaydev[1294:331774] PlayLiveSync: Uncaught Exception 2018-10-28 13:54:15.827 nsplaydev[1294:331774] PlayLiveSync: Sending crash report 2018-10-28 13:54:19.831 nsplaydev[1294:331774] *** JavaScript call stack: ( 0 pushViewControllerAnimated@[native code] 1 pushViewControllerAnimated@file:///app/tns_modules/tns-core-modules/ui/frame/frame.js:343:61 2
_navigateCore@file:///app/tns_modules/tns-core-modules/ui/frame/frame.js:116:56 3 performNavigation@file:///app/tns_modules/tns-core-modules/ui/frame/frame-common.js:235:27 4
_processNextNavigationEntry@file:///app/tns_modules/tns-core-modules/ui/frame/frame-common.js:227:39 5 navigate@file:///app/tns_modules/tns-core-modules/ui/frame/frame-common.js:131:41 6 navigate@file:///app/tns_modules/nativescript-vue/dist/index.js:6494:24 7 navigate@[native code] 8 @file:///app/tns_modules/nativescript-vue/dist/index.js:13221:26 9 initializePromise@:1:11 10 Promise@[native code] 11 $navigateTo@file:///app/tns_modules/nativescript-vue/dist/index.js:13198:25 12 onButtonTap@file:///app/components/PageB.js:20:29 13 onButtonTap@[native code]
    2018-10-28 13:54:19.831 nsplaydev[1294:331774] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[TNSLabel useLayoutToLayoutNavigationTransitions]: unrecognized selector sent to instance 0x10a909f00'

*** First throw call stack:
(0x226727ef8 ....)
libc++abi.dylib: terminating with uncaught exception of type NSException
2018-10-28 13:54:19.832 nsplaydev[1294:331774] PlayLiveSync: Uncaught Exception

Я заметил, что ошибка ссылается на нужную страницу как javascript: PageB.js даже думал, что не существует,Означает ли это, что маршрутизация не может работать здесь с компонентами vue?

Если кто-то может указать мне пример мульти-vue.file для NativeScript, возможно, это поможет мне понять это.

Ответы [ 3 ]

0 голосов
/ 29 октября 2018

Навигация, кажется, работает как ожидалось, проверьте этот образец детской площадки .

0 голосов
/ 15 марта 2019

используется const pageB = require("./PageB").default;

вместо import pageB from "./PageB";

0 голосов
/ 28 октября 2018

Ваш код выглядит хорошо для меня. Не могли бы вы опубликовать ссылку на NativeScript Playground, чтобы мы могли взглянуть?

...