我在Meteor 0.7.2中进行了x-editable工作,但是由于升级到0.8.0,它不再正确呈现.我倾向于最终得到一堆空标签.这是令人沮丧的,因为数据就在那里,而不是在渲染函数被触发时.
<template name="clientPage">
<header>{{> clientPageTitleUpdate}}</header>
</template>
<template name="clientPageTitleUpdate">
<h1><span class="title-update editable" data-type="text" data-pk="{{_id}}" data-name="title" data-value="{{title}}">{{title}}</span></h1>
</template>
Template.clientPageTitleUpdate.rendered = function() {
console.log(this.$(".title-update").text());
// set up inline as defaule for x-editable
$.fn.editable.defaults.mode = 'inline';
$(".title-update.editable:not(.editable-click)").editable('destroy').editable({
url: "empty",
toggle: "dblclick",
success: function (response, newValue) {
// update value in db
var currentClientId = $(this).data("pk");
var clientProperties = { title: newValue };
Clients.update(currentClientId, {$set: clientProperties}, function(error) {
if (error) {
Errors.throw(error.message)
}
});
}// success
});
}
Run Code Online (Sandbox Code Playgroud)
我曾尝试embeding到另一个模板以此作为解释的"新"的渲染方法在这里,它似乎并没有任何工作.
现在使用x-editable的最佳方法是什么,渲染只会触发一次并且不能确保数据存在. …