view model creator

by Richard Hunter

HTML

<div ro-text="fullName" ro-click="handleClick()"></div>

JavaScript

var model = {
    name : "Rich",
    
    details : {
    
        town : "London"
    }
};

ro = {};
ro.createViewModel = function (scope, config) {
    var _scope = scope;

    return {
        _on : function(propertyName, event, listener) {

        },  
        _off : function (propertyName, event, listener) {

        },
        _destroy : function () {
        
        }

    };
};

ro.createViewModel(model.details, {
    //  underscored methods will not be added to view model
   
    _destroy : function (scope) {
    
    },
    //  called to initialise view model
    _create : function () {
        scope.on('broadcast', this.foo);
    },
    //  these will be added to the scope
    
    foo : function () {

        //  within a method 'this' refers to the scope
        this.bar();
    },
    //  computed
    fullName : computed("%s %s", this.name, this.lastName)   
    

});