Я использую nativescript для создания базового приложения, но я застрял в отправке контекста между страницами.
Я перечисляю ряд статей в page1, которые я получаю от http-запроса, и то, что я хочу достичь, отправляет идентификатор элемента в контекст, чтобы сделать http-запрос и отобразить ответ на странице2.
Вот мой подход:Отправка динамических значений внутри контекста в nativescript
page1.xml (эта страница впрыскивается в tabviewitem)
<StackLayout class="tab-content" loaded="onViewLoaded">
<GridLayout rows="auto, *">
<ListView items="{{ motels }}"
row="1"
id="motelsList"
motelId="{{ id }}"
name="{{ name }}"
itemTap="goToMotelDetail">
<ListView.itemTemplate>
<GridLayout columns="auto, *">
<GridLayout columns="auto" rows="auto" class="icon-wrap">
<Image width="70" height="70" src="http://fpoimg.com/70x70" stretch="fill" css="icon-image" />
</GridLayout>
<StackLayout col="1" verticalAlignment="center">
<Label text="{{ name }}" textWrap="true" class="motel-name" />
<Label text="{{ address }}" textWrap="true" class="motel-address" />
</StackLayout>
</GridLayout>
</ListView.itemTemplate>
</ListView>
<ActivityIndicator busy="{{ isLoading }}" row="1" horizontalAlignment="center" />
</GridLayout>
</StackLayout>
page1.js
exports.goToMotelDetail = function(args) {
var id = args.object.motelId;
var name = args.object.name;
var navigationEntry = {
moduleName: "views/motel-detail/motel-detail",
context: {
info: "some string to test",
id: id,
name: name
},
animated: false
};
var topmost = frameModule.topmost();
topmost.navigate(navigationEntry);
}
page2.xml
<Page navigatedTo="navigatedTo">
<Page.ActionBar>
<ActionBar title="{{ name }}" />
</Page.ActionBar>
<Label text="Motel detail" />
</Page>
page2.js
exports.navigatedTo = function (args) {
var page = args.object;
var dataItem = page.navigationContext;
page.bindingContext = dataItem;
};
Дело в том, что когда я нажимаю на элемент, приложение переходит на страницу2, но не отображает имя, которое было отправлено в контексте, и если я пытаюсь с информацией, оно работает.
Я не могу понять, как заставить его работать.
Заранее спасибо
Когда я console.log имя и идентификатор Я получаю объект [object object], но если я переместил функцию на метку и поместил имя и id в качестве свойства метки, я получу правильные значения –