(function(){
'use strict';
var likeComponent = Vue.extend({
template : '<button>like</button>'
});
var app = new Vue({
el: '#app',
components: {
'like-component': likeComponent
}
});
})();
(function(){
'use strict';
var likeComponent = Vue.extend({
data: function(){
return {
count: 0
}
},
template : '<button @click="countUp">like {{ count }}</button>',
methods: {
countUp: function(){
this.count++;
}
}
});
var app = new Vue({
el: '#app',
components: {
'like-component': likeComponent
}
});
})();
(function(){
'use strict';
var likeComponent = Vue.extend({
props: {
message: {
type: String,
default: 'Like'
}
},
data: function(){
return {
count: 0
}
},
template : '<button @click="countUp">{{ message }} {{ count }}</button>',
methods: {
countUp: function(){
this.count++;
}
}
});
var app = new Vue({
el: '#app',
components: {
'like-component': likeComponent
}
});
})();
(function(){
'use strict';
var likeComponent = Vue.extend({
props: {
message: {
type: String,
default: 'Like'
}
},
data: function(){
return {
count: 0
}
},
template : '<button @click="countUp">{{ message }} {{ count }}</button>',
methods: {
countUp: function(){
this.count++;
this.$emit('increment');
}
}
});
var app = new Vue({
el: '#app',
components: {
'like-component': likeComponent
},
data: {
total: 0
},
methods: {
incrementTotal: function(){
this.total++;
}
}
});
})();