Подобная проблема стоила мне целых выходных, не зная, как выглядят файлы сопутствующего контроллера .js
или .ts
. Я могу только порекомендовать вам перейти к основам / источнику:
https://docs.nativescript.org/core-concepts/navigation#frame
это помогло мне найти проблему в моем коде.
Если вы написали пользовательскую страницу, которая не начинается с template
, скорее всего,Вы также написали контроллер, и легко пропустить какую-то строку, присутствующую в примерах - даже если она выглядит так, как будто она вам не нужна.
Если вы вставите свой контроллер JS, мы сможем понять ваш контекст.
Например, вот фрагмент кода, который вы должны обязательно включить, чтобы помочь вам отладить:
в вашем page-you-navigate-to.xml
<Page loaded="onPageLoaded" class="page">
...
</Page>
в вашемpage-you-navigate-to.ts
import { EventData } from "tns-core-modules/data/observable";
import { Page } from "tns-core-modules/ui/page";
export function onPageLoaded(args: EventData): void {
const page = <Page>args.object;
var context = page.navigationContext;
page.bindingContext = context;
console.log("Target page Loaded.");
}
Запустите ваш отладчик и просмотрите, где у вас есть значения null
, и прочитайте эти вызовы методов и их параметры.