为了创建使用requirejs模块的聚合物元素,我遇到了阻塞问题.我知道聚合物不适用于requirejs,但目前它是我唯一的选择.
寻找答案我找到了两个解决方案:
Polymer()呼叫requirejs回调中所描述的在这里由于我必须使用require,至少在目前,我选择了解决方案2.但是,事实证明,在Polymer升级元素之前,解决方案会导致元素注册的异步延迟和不正确的数据绑定.
深入研究这个问题,我开始攻击无证的Polymer内部构件,意图完全停止Polymer,直到requirejs做到了.这是我想出的:
Polymer.require = function(tag, deps, func) {
var stopper = {}
Polymer.queue.wait(stopper);
require(deps, function() {
delete stopper.__queue;
Polymer.queue.check();
Polymer(tag, func.apply(this, arguments));
});
};
Run Code Online (Sandbox Code Playgroud)
我知道这是非常错误的.有更好的解决方案吗?
polymer ×1