2014-01-14 3 views
0

Я использую signalr для prepand строки в таблице, но я не мог этого сделать:Prepend ряд к столу

HTML:

<div> 
    <table> 
     <thead> 
      <tr> 
       <td>Name</td> 
       <td>Price</td> 
      </tr> 
     </thead> 
     <tbody data-bind="foreach: Products"> 
      <tr> 
       <td><span data-bind="text: name"></span></td> 
       <td><span data-bind="text: price"></span></td> 
      </tr> 
     </tbody> 
    </table> 
</div> 

Нокаут:

function ProductViewModel() { 
    Products = ko.observableArray(); 

    Products.unshift(
    { 
     name: Products.name, 
     price: Products.price 
    } 
); 
} 
ko.applyBindings(new ProductViewModel()); 

СигналR:

chat.client.hello = function (product) { 
     console.log(product.name); 
     ProductViewModel.Product(product); 
}; 
+0

Что не работает и происходит вместо этого? Вы получаете какие-либо ошибки? – nemesv

ответ

0

Он должен выглядеть примерно так это:

function ProductViewModel() { 
    var self = this; 
    self.Products = ko.observableArray(); 
    self.AddProduct = function(product) { 
     self.Products.unshift(product); 
    }; 
} 

var productViewModel = new ProductViewModel(); 
ko.applyBindings(productViewModel); 

chat.client.hello = function(product) { 
    console.log(product.name); 
    productViewModel.AddProduct(product); 
}; 
Смежные вопросы