diff --git "a/Vue.js \353\260\230\354\235\221\352\270\260\353\262\225/Vue.js \353\260\230\354\235\221\352\270\260\353\262\225.ppt" "b/Vue.js \353\260\230\354\235\221\352\270\260\353\262\225/Vue.js \353\260\230\354\235\221\352\270\260\353\262\225.ppt" new file mode 100644 index 0000000..6c3cd5a Binary files /dev/null and "b/Vue.js \353\260\230\354\235\221\352\270\260\353\262\225/Vue.js \353\260\230\354\235\221\352\270\260\353\262\225.ppt" differ diff --git "a/Vue.js \353\260\230\354\235\221\352\270\260\353\262\225/defineProperty.txt" "b/Vue.js \353\260\230\354\235\221\352\270\260\353\262\225/defineProperty.txt" new file mode 100644 index 0000000..f7b6869 --- /dev/null +++ "b/Vue.js \353\260\230\354\235\221\352\270\260\353\262\225/defineProperty.txt" @@ -0,0 +1,54 @@ +var obj = { + + data: { + + a: 100 + + } + +}; + + +Object.defineProperty(obj, "a", { + set: function(x) { + console.log("## setter call : ", x); + this.data.a = x; + }, + get: function() { + console.log("## getter call : ", this.data.a); + return this.data.a; + }, + enumerable: true, + configurable: true +}); + +-------------------------------- + +var obj = { + + data: { + + a: 100 +, b:200, c:300 + } + +}; + + +for (var k in obj.data) { + + (function(k) { + Object.defineProperty(obj, k, { + set: function(x) { + console.log("## setter call : ", k, x); + this.data[k] = x; + }, + get: function() { + console.log("## getter call : ", k, this.data[k]); + return this.data[k]; + }, + enumerable: true, + configurable: true + }); + })(k); +} \ No newline at end of file diff --git "a/Vue.js \353\260\230\354\235\221\352\270\260\353\262\225/reactive.html" "b/Vue.js \353\260\230\354\235\221\352\270\260\353\262\225/reactive.html" new file mode 100644 index 0000000..b0f7d4f --- /dev/null +++ "b/Vue.js \353\260\230\354\235\221\352\270\260\353\262\225/reactive.html" @@ -0,0 +1,32 @@ + + + + + reactive + + + +
+
{{num}}
+ +
+ + + \ No newline at end of file