Vue.js 2.0 test

by Atinux

HTML

<script src="https://unpkg.com/vue/dist/vue.js"></script>
<div id="app">{{ $responsive }}</div>

Babel + JSX

var Responsive = {};
Responsive.install = function (Vue, options) {
	console.log('Install!');
  var responsive = {
    width: window.outerWidth
  };
  Vue.mixin({
    beforeCreate () {
      Vue.util.defineReactive(this, '_responsive', responsive);
    }
  })
  Object.defineProperty(Vue.prototype, '$responsive', {
    get () { return this.$root._responsive }
  })
  window.addEventListener('resize', function () {
  	console.log('Resize');
    responsive.width = window.outerWidth;
  })
};

Vue.use(Responsive);

new Vue({
	el: '#app'
});