CanJS jQuery Template

Includes jQuery, CanJS and all of its plugins. Use it as a starting point when you want to demo something.

HTML

<script src="http://canjs.us/release/latest/can.jquery.js"></script>
<script src="http://canjs.us/release/latest/can.construct.proxy.js"></script>
<script src="http://canjs.us/release/latest/can.control.plugin.js"></script>
<script src="http://canjs.us/release/latest/can.view.modifiers.js"></script>
<script src="http://canjs.us/release/latest/can.construct.super.js"></script>
<script src="http://canjs.us/release/latest/can.object.js"></script>
<script src="http://canjs.us/release/latest/can.ejs.js"></script>
<script src="http://canjs.us/release/latest/can.map.attributes.js"></script>
<script src="http://canjs.us/release/latest/can.map.backup.js"></script>
<script src="http://canjs.us/release/latest/can.map.delegate.js"></script>
<script src="http://canjs.us/release/latest/can.map.setter.js"></script>
<script src="http://canjs.us/release/latest/can.map.validations.js"></script>
<script src="http://canjs.com/release/latest/can.fixture.js"></script>
<script src="http://canjs.us/release/latest/can.map.define.js"></script>

JavaScript

var map = new can.Map({
    foo: 'bar',
    baz: 'bla'
});

var OtherMap = can.Map.extend({
    define: {
        fizzle: {
            get: function() {
                return map.attr('foo') + '/' + map.attr('baz');
            },
            set: function(value) {
                map.attr('foo', value);
            }
        }
    }
});

var other = new OtherMap();

console.log(other.attr('fizzle'));

other.attr('fizzle', 'something');
console.log(map.attr('foo'));