Advertisement
Guest User

Untitled

a guest
Jul 7th, 2015
186
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.78 KB | None | 0 0
  1. ko.components.register('item-2', {
  2. viewModel: Item2,
  3. template: '<div class="col-md-12" data-bind="visible: $parent.activeView()==='item-2'"> <h1>Item 2</h1> <input data-bind="value: comment"/> <h3 data-bind="text: comment"></h3> </div>'
  4. });
  5.  
  6. <div id="item-1">
  7. <div class="col-md-12" data-bind="with: Item1, visible: activeView() === 'item-1'">
  8. <h1>Item 1</h1>
  9. <input data-bind="value: comment" />
  10. <h3 data-bind="text: comment"></h3>
  11. </div>
  12. </div>
  13.  
  14. <div id="item-2">
  15. <div class="col-md-12" data-bind="with: Item2, visible: activeView() === 'item-2'">
  16. <h1>Item 2</h1>
  17. <input data-bind="value: comment" />
  18. <h3 data-bind="text: comment"></h3>
  19. </div>
  20. </div>
  21.  
  22. var Item1 = function Item1() {
  23. var self = this;
  24.  
  25. console.log(self);
  26.  
  27. self.title = ko.observable('Item 1');
  28. self.comment = ko.observable('comment: item 1');
  29. }
  30.  
  31. var Item2 = function Item2() {
  32. var self = this;
  33.  
  34. console.log(self);
  35.  
  36. self.title = ko.observable('Item 2');
  37. self.comment = ko.observable('comment: item 2');
  38. }
  39.  
  40. ko.components.register('menu', {
  41. viewModel: Menu,
  42. template: {element: 'menu'}
  43. });
  44.  
  45. ko.components.register('item-1', {
  46. viewModel: Item1,
  47. template: {element: 'item-1'}
  48. });
  49.  
  50. ko.components.register('item-2', {
  51. viewModel: Item2,
  52. template: {element: 'item-2'}
  53. });
  54.  
  55. var VM = function VM() {
  56. var self = this;
  57.  
  58. self.activeView = ko.observable();
  59.  
  60. Sammy(function() {
  61. this.get('/', function(context) {
  62. self.activeView('menu');
  63. });
  64.  
  65. this.get('#/item-1', function(context) {
  66. self.activeView('item-1');
  67. });
  68.  
  69. this.get('#/item-2', function(context) {
  70. self.activeView('item-2');
  71. });
  72. }).run();
  73. };
  74.  
  75. ko.applyBindings(new VM());
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement