Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Knockout ne prikazuje mapirane podatke kada se koristi plugin pagerjs

[es] :: Javascript i AJAX :: Knockout ne prikazuje mapirane podatke kada se koristi plugin pagerjs

[ Pregleda: 2110 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

nensika
freelance web designer
beograd

Član broj: 95505
Poruke: 37
*.vs.rs.



+1 Profil

icon Knockout ne prikazuje mapirane podatke kada se koristi plugin pagerjs22.09.2015. u 11:46 - pre 104 meseci
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
 
Odgovor na temu

ssi

Član broj: 305920
Poruke: 333
*.dynamic.sbb.rs.



+377 Profil

icon Re: Knockout ne prikazuje mapirane podatke kada se koristi plugin pagerjs07.10.2015. u 01:06 - pre 104 meseci
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.
 
Odgovor na temu

[es] :: Javascript i AJAX :: Knockout ne prikazuje mapirane podatke kada se koristi plugin pagerjs

[ Pregleda: 2110 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.