knockout.js - KO.js howto set default view when using view constructor -


i'm (new ko!) playing view constructor offered ryan niemayer here: how structure knockoutjs application, , i'm trying set default view show on load…

for example in #3, can use constructor function like…

and here fork attempting set default:

// (templates defined in fiddle) var view = function(title, templatename, data) {    this.title = title;    this.templatename = templatename;    this.data = data;  };  var definedviews = ko.observablearray([     new view("one", "onetmpl", new submodela()),     new view("two", "twotmpl", new submodelb()) ]);  var viewmodel = {     views: definedviews,     defaultview: 0,     selectedview: ko.observable( definedviews[0] ) };  ko.applybindings(viewmodel); 

index.html:

    <!-- ko with: selectedview -->     <div data-bind="template: { name: templatename, data: data }"></div>     <!-- /ko --> 

http://jsfiddle.net/memelab/wvvym/2/

on load, selectedview undefined, when i've clicked select, contains object expected…

i've tried refactoring viewmodel function, trying feed parameters html declaration, , bunch of random guesswork not coherent enough summarise here…

any suggestions? tia!

actually you're missing ()

var viewmodel = {     views: definedviews,     defaultview: 0,     selectedview: ko.observable( definedviews()[0] ) }; 

here working fiddle: http://jsfiddle.net/zahc9/


Comments

Popular posts from this blog

c++ - OpenCV Error: Assertion failed <scn == 3 ::scn == 4> in unknown function, -

php - render data via PDO::FETCH_FUNC vs loop -

The canvas has been tainted by cross-origin data in chrome only -