knockout/Local TemporaryValue
knockout/Local TemporaryValue
by MKGaru
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.3.0/knockout-debug.js"></script>
<script src="https://mbest.github.io/knockout.punches/knockout.punches.js"></script>
<script src="https://rawgit.com/SteveSanderson/knockout-es5/master/dist/knockout-es5.js"></script>
<div data-bind="foreach:list">
{{#with:$context}}
{{ $parent.data[1] | as: 'item' }}
<span>{{item.value}}</span>
{{/with}}
<span>{{typeof item == 'object' ? item.value : 'unknown'}}</span>
</div>
<span>{{typeof item == 'object' ? item.value : 'unknown'}}</span>
JavaScript
ko.filters.as = function as(value, name) {
var $context = as.caller.caller.arguments[4];
Object.defineProperty($context,name,{
value: value,
configurable:true
});
return null;
};
function VM(){
this.data = [
{id:1,value:'A'},
{id:3,value:'B'},
{id:5,value:'C'}
];
this.list = [
'I','II','III','IV','V'
];
}
var vm = new VM();
ko.punches.enableAll();
ko.applyBindings(vm);