can.Observe.List param to element helper
HTML
<script src="http://canjs.com/release/latest/can.zepto.js"></script>
<script src="http://canjs.com/release/latest/can.view.mustache.js"></script>
<script src="http://canjs.com/release/latest/can.construct.super.js"></script>
<script src="http://canjs.com/release/latest/can.observe.attributes.js"></script>
<div id="container"></div>
<script id="template" type="text/mustache">
<h2>test passing param to element helper</h2>
<ul>
<li {{helper observeList}}>observeList broken</li>
<li {{helper array}}>plain arrays work</li>
</ul>
</script>
CSS
#container {
margin: 20px;
font: 18px sans bold;
}
#container li {
color: red;
font: 16px sans normal;
}
#container li.foo.bar.baz {
color: green;
}
ul {
list-style: disc inside;
margin-bottom: 10px;
}
JavaScript
(function() {
can.Mustache.registerHelper('helper', function(classnames) {
return function(el) {
if (can.isFunction(classnames)) {
classnames = classnames();
}
can.addClass(can.$(el), classnames.join(' '));
};
});
var array = ['foo', 'bar', 'baz'];
can.Control('Control', {
init: function(element, options) {
can.append(element, can.view('template', {
observeList: new can.Observe.List(array),
array: array
}));
}
});
new Control('#container');
}());