github.com/insionng/yougam@v0.0.0-20170714101924-2bc18d833463/public/libs/vue-1.0.24/examples/grid/grid.js (about) 1 // register the grid component 2 Vue.component('demo-grid', { 3 template: '#grid-template', 4 replace: true, 5 props: { 6 data: Array, 7 columns: Array, 8 filterKey: String 9 }, 10 data: function () { 11 var sortOrders = {} 12 this.columns.forEach(function (key) { 13 sortOrders[key] = 1 14 }) 15 return { 16 sortKey: '', 17 sortOrders: sortOrders 18 } 19 }, 20 methods: { 21 sortBy: function (key) { 22 this.sortKey = key 23 this.sortOrders[key] = this.sortOrders[key] * -1 24 } 25 } 26 }) 27 28 // bootstrap the demo 29 var demo = new Vue({ 30 el: '#demo', 31 data: { 32 searchQuery: '', 33 gridColumns: ['name', 'power'], 34 gridData: [ 35 { name: 'Chuck Norris', power: Infinity }, 36 { name: 'Bruce Lee', power: 9000 }, 37 { name: 'Jackie Chan', power: 7000 }, 38 { name: 'Jet Li', power: 8000 } 39 ] 40 } 41 })