requirejs下的es6

这个是我的web.js文件

define(function(){
    const[init,share,update] = [Symbol(),...Symbol()];
    
    class webShow {
        [init](){
            this[share]();
            this[update]();
        }
        [share](){
        }
        [update](){
        }
    }
    
    return webShow;
})

然后是主文件main.js

require(['web'], function (web){
        var web = new web();
            web[init]();    
});

可是它报init is not defined
如果不用模块化管理上面是不会报错的,这是什么原因?

阅读 4.2k
1 个回答

web.js

define(function(){
    //因为init Symbol是在web.js内声明的,你必须把init也传递出去才能在外面用。
    const[init,share,update] = [Symbol(),...Symbol()];
    
    class webShow {
        [init](){
            this[share]();
            this[update]();
        }
        [share](){
        }
        [update](){
        }
    }
    
    return [webShow,init];//输出init Symbol
});

main.js

require(['web'], function ([web,init]){//引入init Symbol
        var web = new web();
            web[init]();    
});
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进