mirror of
https://github.com/meteor/meteor.git
synced 2026-05-02 03:01:46 -04:00
refactor #each item mutable data pattern
This commit is contained in:
@@ -52,20 +52,20 @@ UI.Each = Component.extend({
|
||||
var data = item;
|
||||
var dep = new Deps.Dependency;
|
||||
|
||||
// XXX dynamically rendering a child component
|
||||
// shouldn't be this hard...
|
||||
// function to become `comp.data`
|
||||
var dataFunc = function () {
|
||||
dep.depend();
|
||||
return data;
|
||||
};
|
||||
// Storing `$set` on `comp.data` lets us
|
||||
// access it from `changed`.
|
||||
dataFunc.$set = function (v) {
|
||||
data = v;
|
||||
dep.changed();
|
||||
};
|
||||
|
||||
var comp = UI.render(
|
||||
content,
|
||||
{ data: _extend(
|
||||
function () {
|
||||
dep.depend();
|
||||
return data;
|
||||
}, {
|
||||
$set: function (v) {
|
||||
data = v;
|
||||
dep.changed();
|
||||
}
|
||||
}) }, self);
|
||||
content, { data: dataFunc }, self);
|
||||
|
||||
if (beforeId)
|
||||
beforeId = LocalCollection._idStringify(beforeId);
|
||||
|
||||
Reference in New Issue
Block a user