I namespace my models and a single controller like this:
var MC = {};
and then added properties as needed.
For example, the code th
Is there a simple way to add privacy to my models and still have them accessible as properties in an object?
Obviously, you then will need to make the whole object private. And yes, that will work as any other privacy in JavaScript, too - a closure.
Have a look at the module pattern (there are many tutorials out on the web about this).
you can do this with closures.
var MyNamespace = {};
MyNamespace.MyClass = (function() {
function privateMethod() {
// ...
}
function publicMethod() {
// can call privateMethod() from in here
}
return ({
publicMethod: publicMethod
});
}());
This will create an object called MyNamespace.MyClass
with one private method and one public method. In your case you probably want to do this for each model class. Have their init
methods be public and hide their other methods.