JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/1.0.16/vue.min.js"></script>
<script src="https://getfirebug.com/firebug-lite-debug.js"></script>
<div id="app">
<ul>
<li v-for="book in getSelectedBooks()">
{{ book.title }}
</li>
</ul>
</div>
JavaScript
var app = new Vue({
el: '#app',
data: {
shelfs: [{
selected: false,
books: [{
title: 'Lorem ipum'
}, {
title: 'Dolor sit amet'
}]
}, {
selected: true,
books: [{
title: 'Ipsum lorem'
}, {
title: 'Amet sit dolor'
}]
}]
},
methods: {
getSelectedBooks: function () {
var books = [],
shelfs = this._data.shelfs;
for (var i = 0; i < shelfs.length; i++) {
if (shelfs[i].selected) {
books.push.apply(books, shelfs[i].books);
}
}
console.log(books);
return books;
}
}
});