Я изучаю нативный скрипт на JS, и у меня возникают проблемы с фундаментальными вещами. Я хочу перейти на другую страницу (с помощью обработчика событий кнопки касания) и не знаю, почему она не будет работать, когда страницы находятся в определенной папке (и почему метод из книги не работает xx).
Я попробовал точные шаги из книги на нативном языке (https://www.nativescript.org/get-the-nativescript-book), означает:
var frameModule = require("ui/frame");
function onTap()
{
frameModule.topmost().navigate("pages/second-page/item-page ");
}
exports.onTap = onTap;
но это не сработало полностью. Я также пытался реализовать метод из этой демонстрации https://play.nativescript.org/?template=play-js&id=YwE1kV&_ga=2.244066690.664730264.1558375788-1200954945.1554045393
Этот метод работает, однако страницы должны быть в одной папке (и я хочу, чтобы они были в разных папках).
Когда я разделил их на folder1, folder2, я заметил, что эти папки (folder1 и folder2) должны быть помещены в подпапку comon (потому что, если они находятся в папке 'app', это не работает). Как я могу это понять?
Вот как это выглядит сейчас (в папке «app» находится подпапка «pages». В папке «pages» находятся «main-page» (с main-page.xml и main-page. js) и папки «вторая страница» (с item-page.js и item-page.xml).
Это моя главная страница (начальная страница приложения)
XML:
<Page class="page">
<StackLayout>
<Label text="Tap the button"/>
<Button id="button" text="Tap me!" tap="onTap"></Button>
<Label text="this_sucks" textWrap="true"/>
</StackLayout>
</Page>
JS:
function onTap(args) {
const button = args.object;
const page = button.page;
page.frame.navigate("pages/second-page/item-page");
}
exports.onTap = onTap;
Когда папки 'main-page' и 'second-page' находились непосредственно в папке 'app', я не мог заставить ее работать ... (page.frame.navigate ("../ second- page / item-page "). Я тоже не понимаю, почему метод из книги не сработал
var frameModule = require("ui/frame");
function onTap()
{
frameModule.topmost().navigate("pages/second-page/item-page");
}
exports.onTap = onTap;
Не могли бы вы попытаться объяснить это поведение?