Comments (1)
Reviewing this issue it appears that Backbone.Model is actually converting the properties of the String object into its Model object. The reason Backbone.Model works in the first case is because it does not touch any nested objects/arrays thus the nested object's structure is maintained.
Document Model on the other hand converts all nested objects/arrays to their respective Backbone Model/Collection in order to track changes and event hierarchy.
I do agree this is not optimal and I'll continue looking into a proper solution.
Thanks for the example.
var model = new Backbone.Model(new String('abcd'))
model.toJSON()
Object {0: "a", 1: "b", 2: "c", 3: "d"}
model
Backbone.Model {cid: "c5", attributes: Object, _changing: false, _previousAttributes: Object, changed: Object…}
_changing: false
_pending: false
_previousAttributes: Object
attributes: Object
0: "a"
1: "b"
2: "c"
3: "d"
__proto__: Object
changed: Object
cid: "c5"
__proto__: Object
from backbone-documentmodel.
Related Issues (18)
- Add support for SubModel/SubColelction types HOT 6
- Adding an item to an array adds an id field to it. HOT 1
- toJSON of arrays for template rendering
- Add CommonJS/Node.js support
- Custom models and collections for nested values
- improvement: support for Backbone.Model.cid
- getNestedModel() and getNestedCollection() methods invoked only for first level attributes HOT 2
- toJSON on collection returns array of undefined HOT 2
- Can't parse deepNamedAttrs HOT 2
- Instantiation of nested Models fails if nested attributes have their own IDs HOT 2
- Calling set() multiple times on a model that contains a nested array of primitives throws an error HOT 3
- Please do a version bump and publish to npm HOT 1
- Array of 'undefined' values in Handlebars template helpers
- Incorrect model hierarchy when setting 2-dimensional array HOT 2
- Uncaught TypeError line 112 HOT 3
- Strange output on nested collection models toJSON() HOT 1
- Propagate change event HOT 1
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 backbone-documentmodel.