[ nensika @ 22.09.2015. 11:46 ] @
var viewModel = function () {
var self = this;
self.records = ko.mapping.fromJS([]);

$.getJSON("http://localhost/knockout/fabrike.php",
function (data) {
viewModel = ko.mapping.fromJS(data,{}, self.records);
alert(JSON.stringify(data))
});
return true;
};

$(function () {
pager.Href.hash = '#!/';
pager.extendWithPage(viewModel.prototype);
ko.applyBindings(new viewModel(), document.getElementById("container"));
pager.start();
});

U html-u imam:
<ul data-bind="foreach: records">
<li data-bind="text: Naziv_fabrike"></li>
</ul>

a ispis json je
{"records":[.....]}

gde gresim, inace uspevam da ih prikazem ako nemam pagerjs. U jednom divu (page-u) zelim da prikazem sve fabrike a klikom na jednu otvara se unutrasnja stana koja pokazuje detalje....

Hvala
[ ssi @ 07.10.2015. 01:06 ] @
Nisam testirao ali ovako nekako ide:

Code:

var itemViewModel = function(data){
    var self = this;
    
    self.Naziv_fabrike = ko.observable();
    
    ko.mapping.fromJS(data,{}, self);             
}

var viewModel = function () {
    var self = this;
    
    self.records = ko.observableArray();
    
    self.itemMapping = {
        create: function(options) {
            return new itemViewModel(options.data);
        }
    };
    
    self.LoadData = function(){
        // dodal q.js ili neku drugu prommise impl.
        $.getJSON("http://localhost/knockout/fabrike.php",
        function (data) {
            ko.mapping.fromJS(data,self.itemMapping, self.records);             
        });
        return true; 
    };
    
}

HTML: 

<ul data-bind="foreach: records">
    <li data-bind="text: Naziv_fabrike"></li> 
</ul>

<script type="text/javascript">
    $(document).ready(function() {
        var myViewModel = new viewModel();    
    
        ko.applyBindings(myViewModel);    

        myViewModel.LoadData();
    });
</script>



Opet ako hoces da koristis knockout:

- nauci i prouci Durandal... zasnvan je na njemu
- nauci i prouci: q.js, require.js i kako da organizujes code.