0
所以,問題是以下內容。當輸入到其中一個編輯器時,更改將被提交到firebase,在該位置更改已註冊,然後將更改輸入回編輯器(?),創建一個循環。避免創建更改循環
如何避免這種情況。
有問題的代碼如下:
tmpltr.editors.data.getSession().on('change', function() {
collabjs.set(tmpltr.editors.data.getSession().getValue());
});
tmpltr.editors.structure.getSession().on('change', function() {
collabhtml.set(tmpltr.editors.structure.getSession().getValue());
});
tmpltr.editors.style.getSession().on('change', function() {
collabcss.set(tmpltr.editors.style.getSession().getValue());
});
collabjs.on('value', function(snapshot) {
tmpltr.fn.setData(snapshot.val());
tmpltr.fn.renderOutput("html");
tmpltr.editors.data.session.setValue(snapshot.val());
});
collabcss.on('value', function(snapshot) {
tmpltr.fn.setStyle(snapshot.val());
tmpltr.fn.renderOutput("style");
tmpltr.editors.style.session.setValue(snapshot.val());
});
collabhtml.on('value', function(snapshot) {
tmpltr.fn.setStructure(snapshot.val());
tmpltr.fn.renderOutput("html");
tmpltr.editors.structure.session.setValue(snapshot.val());
});