"color_scheme": "Packages/Seti.tmTheme",
"theme": "Seti.sublime-theme",
<Page loaded="loaded">
<ListView items="{{ reddit }}">
<ListView.itemTemplate>
<Label text="{{ title }}" textWrap="true" />
</ListView.itemTemplate>
</ListView>
</Page>
var frameModule = require("ui/frame");
var observableModule = require("data/observable");
var observableArrayModule = require("data/observable-array");
var model = new observableModule.Observable();
model.reddit = new observableArrayModule.ObservableArray([]);
var url = "http://www.reddit.com/r/aww.json?after=";
exports.loaded = function(args) {
page = args.object;
page.bindingContext = model;
// 7
loadItems();
};
function loadItems() {
fetch(url)
.then(function(response) {
return response.json();
})
.then(function(response) {
response.data.children.forEach(function(item) {
if (item.data.url.match(/.jpg/)) {
model.reddit.push({
title: item.data.title,
url: item.data.url
});
}
});
});
};
page {
background-color: white;
}
.reddit-item {
margin: 10;
}
/* 6 */
cssClass="reddit-item"
var after;
url + after
after = response.data.after;
loadMoreItems="loadMoreItems"
exports.loadMoreItems = function() {
loadItems();
}
<StackLayout>
<Label text="{{ title }}" textWrap="true" cssClass="reddit-item" />
<Image src="{{ url }}" />
</StackLayout>
image {
margin: 0 10 10 10;
height: 300;
}
<Page.actionBar>
<ActionBar title="Cute Memes" />
</Page.actionBar>
action-bar {
background-color: #000080;
color: white;
}
if (page.ios) {
var navBar = page.ios.navigationController.navigationBar;
navBar.barStyle = UIBarStyle.UIBarStyleBlack;
}
create meme.xml, meme.css, meme.js
itemTap="itemTap"
exports.itemTap = function(args) {
var item = model.reddit.getItem(args.index);
frameModule.topmost().navigate({
moduleName: "meme",
context: item
});
};
<Page loaded="loaded" navigatedTo="navigatedTo">
<Page.actionBar>
<ActionBar title="Create Meme" />
</Page.actionBar>
<Image src="{{ url }}" />
</Page>
var observable = require("data/observable");
var meme = new observable.Observable();
exports.loaded = function(args) {
var page = args.object;
page.bindingContext = meme;
};
exports.navigatedTo = function(args) {
var page = args.object;
var context = page.navigationContext;
meme.set("url", context.url);
};
Image {
height: 300;
margin: 25;
}
npm install --save nativescript-social-share
<ActionBar.actionItems>
<ActionItem text="Share" tap="share" ios.position="right" />
</ActionBar.actionItems>
var socialShare = require("nativescript-social-share");
Add id="image" to image first.
exports.share = function() {
socialShare.shareImage(meme.get("image"));
};
$ npm install moment --save
<label text="{{ time }}" class="timestamp" />
var moment = require("moment");
time: moment(item.data.created_utc * 1000).fromNow()
.timestamp {
margin: 10;
color: gray;
font-size: 10;
font-style: italic;
text-align: center;
}