VUE框架手写实现VUE数据代理机制------VUE框架
  0AYXapvh7mJh 2023年11月25日 10 0

准备一个HTML的页面

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script type="text/javascript" src="../js/myVue.js"></script>
</head>
<body>
    <!-- <div id="app">
        <h1>{{msg}}</h1>
    </div> -->
    <script type="text/javascript">
        const vm = new Vue({
            data : {
                msg : "Hello",
                name : "Jack",
                age : 30
            }
        });
    </script>
</body>
</html>

VUE的实现

class Vue
{
    //定义构造函数
    constructor(Options)//一个简单的纯粹的JS对象
    {
        //options对象类有一个data配置项
        Object.keys(Options.data).forEach((propertyName,index) => {
            console.log(propertyName,index);
            Object.defineProperty(this,propertyName,{
                get()
                {
                    return Options.data[propertyName];
                },
                set(val)
                {
                    Options.data[propertyName] = val;
                }
            });
        });
    }
}
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月25日 0

暂无评论

推荐阅读
  JZjRRktyDDvK   11天前   25   0   0 Vue
0AYXapvh7mJh