JSFiddle - React, Tailwind, and code Playground

by ruirui

HTML

<div>Vue 数据绑定(一)- ES6</div>
<div>请打开控制台查看结果</div>

JavaScript

function Observer (data) {
  return new Proxy(data, {
    get: function (target, propKey) {
      if (propKey in target) {
        console.log('你访问了' + propKey);
        return target[propKey];
      } else {
        console.log("Property \"" + propKey + "\" does not exist.");
      }
    },
    set: function (target, propKey, value) {
      console.log('你设置了' + propKey + ',新的值为' + value);
      target[propKey] = value;
    }
  })
}

let app1 = new Observer({
  name: 'youngwind',
  age: 25
})
let app2 = new Observer({
  university: 'bupt',
  major: 'computer'
})
console.log(app1.name); // 你访问了name
console.log(app1.age = 100); // 你设置了25,新的值为100
console.log(app2.university); // 你访问了university
console.log(app2.major = 'science'); // 你设置了computer,新的值为science