UNPKG

proxy-observable

Version:
54 lines (44 loc) 1.22 kB
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>Observable</title> <meta name="description" content="Observable Browser Sample"> <meta name="author" content="AntonLapshin"> </head> <body> <script src="../proxy.observable.es6.js"></script> <script> const Frodo = observable({ name: "Frodo Baggins", bag: observable([]), friends: observable([]) }); const Samwise = { name: "Samwise Gamgee", friends: [Frodo] }; Frodo.friends.on("change", friend => { console.log(`Frodo has a new friend ${friend.name}! Cograts!`); }); Frodo.bag.on("any", (item, prev, e) => { if (e === "change") { console.log("Frodo got a new item: " + item); if (item === "ring") { console.log("Oh! My Precious!"); } } else if (e === "pop" || e === "shift"){ console.log("Frodo lost an item: " + item); if (item === "ring") { console.log("Gollum! I'm coming to get you!"); } } }); Frodo.friends.push(Samwise); Frodo.bag.push("apple"); Frodo.bag.push("ring"); Frodo.bag.pop(); Frodo.friends.pop(); </script> </body> </html>