Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery.min.js"></script>
<link href="http://twitter.github.io/bootstrap/assets/css/bootstrap.css" rel="stylesheet" type="text/css" />
<link href="http://twitter.github.io/bootstrap/assets/css/bootstrap-responsive.css" rel="stylesheet" type="text/css" />
<script src="http://twitter.github.io/bootstrap/assets/js/bootstrap.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/knockout/2.2.1/knockout-min.js"></script>
<meta charset=utf-8 />
<title>JS Bin</title>
</head>
<body>
  <br/>
  <div data-bind="myBinding : {name:'multi',prop:control1().myName()}"></div>
 
  
  
  <script id="multi" type="text/html"> 
    <pre data-bind="text: ko.toJSON($data, null, 2)"></pre>
  </script>
</body>
</html>
 
ko.bindingHandlers.myBinding = {
    update: function(element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) {
      var bindingValue = ko.utils.unwrapObservable(valueAccessor());
      var templateName = bindingValue.name;
      var data = ko.utils.unwrapObservable(bindingValue);  
      
      
    
         console.log(bindingValue);
            
       var innerBindingContext = bindingContext.createChildContext(data); 
      var templateSubscription = 
      
          ko.renderTemplate(templateName, innerBindingContext, {}, element, 'replaceNode');
      
    }
};
var Field = function(name,multi){
  var self = this;
  self.myName = ko.observable(name);
  self.displayName = ko.observable('multi');
  
};
var ViewModel = function(){
  var self = this;   
  self.control1 = ko.observable(new Field('3',true));
};
ko.applyBindings(new ViewModel());
Output 300px

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
andersb79pro
0viewers