I've never been able to get behind defining data relationships in the DOM. I do like the idea of not having to re-render the entire view or explicitly update individual elements on data change events, but i wish there was a better way. Perhaps a view could contain a hash associating data change events with element selectors. Then the view knows which element to update. That way the html clean and ignorant of the underpinnings of the app.
Take a peek at the implementation if you haven't already -- it's easy to browse through in a minute or two:<p><a href="https://github.com/mikeric/rivets/blob/master/src/rivets.coffee" rel="nofollow">https://github.com/mikeric/rivets/blob/master/src/rivets.cof...</a><p>... although one thing to note is that it looks like it doesn't currently support IE (< 9).
Every time we move away from this ugly logic embedded in the view idea some Rube Goldberg fan (probably with a java struts or other such messy room coding) stacks this stuff back into the world. The fact of the matter is program problems are never difficult enough to merit this kind of abstraction and if in some future where this is necessary it certainly won't be this version or in this syntax.<p>To summarize; Not only do I think this is excessive beyond MVC, but it is also jumping the gun by a decade minimum. I don't need smarty templates, I don't need overloaded HTML attributes and I don't need this. Good day to you.
It would be great if we could just have Object.watch('property', callback) or similar method defined in ES.next.<p>I don't want to wrap my models with ugly frameworks, all I need is a way to fire a callback when my model changes.<p>There is a lot of talk on various MVC frameworks, but lets not forget that manual syncing of views and models has some advantages, e.g. you can improve performance by combining many subsequent DOM operations or by temporarily detaching the parent from DOM tree.
Neat idea, I like that it's agnostic about the model layer. I have to admit that I'm fiddling around with a very similar library (still a work in progress):<p><a href="https://adamsanderson.github.com/ivy/" rel="nofollow">https://adamsanderson.github.com/ivy/</a><p>Lots of people are looking for better ways to deal with data in their views :)
How do you work when you have two or more of those depending on each other?<p>Also, when a data value changes do you re-render the whole thing, of just the affected node?
lots of knowledgeable comments being made here already so clearly this is an interesting area but - what is the use case for this? I don't understand why I might need it.