我的工作我已经部署了一个应用程序,并试图让一切到最新版本,升级代码,以最新工艺的优势,就像在Template.onRendered订阅,但我似乎已经打破了我的排序。
我的模板(简体有点)
<template name="formEdit">
<div id="formContainer">
{{#if Template.subscriptionsReady}}
{{#with form this}}
<table id="headerFieldsTable" class="table">
<tbody id="headerFields">
{{#each headerFields}}
<tr class="headerFieldRow">
<td>{{> headerFieldViewRow }}</td>
</tr>
{{/each}}
</tbody>
</table>
<h5>Form Fields</h5>
<table id="formFieldsTable" class="table">
<tbody id="formFields">
{{#each formFields}}
<tr class="formFieldRow">
<td>{{> formFieldViewRow }}</td>
</tr>
{{/each}}
</tbody>
</table>
{{/with}}
{{else}}
Loading...
{{/if}}
</div>
</template>
和模板的onRendered():
Template.formEdit.onRendered(function() {
var formsSubscription = this.subscribe('formById', this.data);
var headerFieldsSubscription = this.subscribe('headerFieldsForForm', this.data);
var formFieldsSubscription = this.subscribe('formFieldsForForm', this.data);
var formEditTemplate = this;
this.autorun(function() {
if (formsSubscription.ready() && headerFieldsSubscription.ready() && formFieldsSubscription.ready()) {
formEditTemplate.$(''));
formEditTemplate.$('#headerFields').sortable({
axis: "y",
stop: function(event, ui) {
var headersToSave = [];
$('#headerFieldsTable div.headerField').each(function(idx, headerFieldDiv) {
var header = Blaze.getData(headerFieldDiv);
header.sequence = idx;
headersToSave.push(header);
});
_.each(headersToSave, function(header) { header.save(); });
}
});
formEditTemplate.$('#formFields').sortable({
axis: "y",
stop: function(event, ui) {
var feildsToSave = [];
$('#formFieldsTable div.formField').each(function(idx, formFieldDiv) {
var field = Blaze.getData(formFieldDiv);
field.sequence = idx;
feildsToSave.push(field);
});
_.each(feildsToSave, function(field) { field.save(); });
}
});
}
});
});
但对于页眉和页脚两者的formEditTemplate.$('#headerFields')
和formEditTemplate.$('#formFields')
似乎都没有结果。 这似乎是DOM实际并不存在。 我以为.ready()
上的所有订阅调用将纠正这一点,但认为存在如下情况:大火还没有搞掂DOM又一个时间问题,但订阅的确做到了。 我这样说是因为我把在Chrome中断点就在第一线if
,浏览器仍然显示“正在加载...”。
我也试图用电线短路的事情由具有辅助安装程序的排序放置在年底{{#with}}
块,希望也许这将是最后的渲染,但也不能工作。
我发现,似乎建议增加一个计时器流星论坛的一些文章,但是这似乎很“的hackish”。 是否有运行JS需要的DOM的新格局被完全初始化?