Comments (6)
`
from plates.
Good point. One should treat . notation as a last resort.
from plates.
Another issue that will arrise in some templates is the notion of a transformation of the data during the binding process, this ultimately winds up being a function call. For example:
function fullName() { return this.firstName + ' ' + this.lastName; }
I can't find my test case right now but it leverages the valueOf operator
var person_prototype = {
fullName: { valueOf: function() { return this.firstName + ' ' + this.lastName; } }
}
var person = {
firstName: 'First',
lastName: 'Last'
}
I prefer to keep this logic outside of the template if possible, this could also be extended so the function has access to the Lightweight DOM and then you have every single edge case nailed without any special template syntax.
from plates.
Hmm. I think this should be done at the data level, not at the template level. It is probably equally fast to run over the data set and apply the function there before running it through plate.
from plates.
I'm not a fan of touching the data, it could be cached and could also be in use by multiple templates, I do however like the idea of extension functions over the data, even if it's not really prototyped, this could just be a little magic behind the scenes.
Will hack together a working example for data transformation and template nesting using the pseudo code posted on the nesting issue and see how it feels.
from plates.
Dot-notation should work anyway (there was bug in a parser), fixed in e58a836 .
Thanks
from plates.
Related Issues (20)
- .append() or .partial doesn't work with inputs HOT 1
- Partials HOT 1
- Tests failing on latest Node.js HOT 1
- State of this library HOT 3
- Overrides elements with bad content HOT 2
- Plates (fork?) with some DSL HOT 1
- Collection iteration HOT 1
- Binding doesn't work as expected HOT 1
- Question, not Issue: Getting the innerHTML of a tag for multi-language support
- Not able to get the correct HTML output
- BUG: "Template" may not contain "Subtemplates" tag name HOT 1
- Old Version on Bower HOT 1
- Example project with template nesting HOT 1
- Mapping the same partial multiple times with collections example
- Map to a valueless attribute
- Multiple clauses does not render correctly HOT 2
- Option to allow/disallow undefined attributes HOT 1
- Better common.js support HOT 1
- Provide a proper way to avoid XSS attacks
- Problem with function compileMappings, and how i (might have) fixed it.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from plates.