2013-06-27 1 views
6

Sto lavorando con il plugin ordinabile di knockout.js; tuttavia, mi sono imbattuto in un problema che finora non ho potuto risolvere. Ho due attacchi ordinabili, uno per i bucket e un altro per bucketItems. Sono in grado di riordinare bucketItems tra i bucket; tuttavia, non riesco a riordinare i bucket. Avresti qualche idea del perché sarebbe? Sto anche usando nested con i binding, ma per quanto posso dire, questo non è ciò che sta causando problemi.Knockout.js nested binding bindings

Apprezzerei molto qualsiasi suggerimento che hai da offrire.

+0

si prega di inviare la tua codice e il plugin che stai utilizzando –

+0

a causa di determinati motivi, non posso pubblicare il mio codice; tuttavia, sono stato in grado di restringere la portata del mio problema. Ho una serie di bucketIds e quando lo applico, non si collega correttamente. sfortunatamente, non so ancora perché non si legherà. (Sto usando il plugin knockout.js-sortable creato da ryan neimeyer) – user2391998

risposta

8

Non conosco la struttura esatta, ma è possibile utilizzare l'opzione connectClass per controllare quali elenchi ordinabili sono connessi. Ad esempio, se avete fatto queste cose:

<ul data-bind="sortable: { data: buckets, connectClass: 'buckets' }"> 
    <li> 
     <span data-bind="text: name"></span> 
     <ul data-bind="sortable: { data: items, connectClass: 'items' }"> 
      <li data-bind="text: name"></li> 
     </ul> 
    </li> 
</ul> 

Si sarebbe solo in grado di rilasciare un secchio all'interno di secchi e un elemento all'interno di oggetti. Il plugin aggiunge automaticamente la classe all'elemento padre.

Ecco un esempio: http://jsfiddle.net/rniemeyer/YaLgL/

Se non si vuole essere in grado di ordinare gli elementi tra secchi, allora si potrebbe applicare un unico connectClass ad ogni tipo:

http://jsfiddle.net/rniemeyer/czNe8/

+0

Come fai a far funzionare tutto questo quando non vuoi che un oggetto sia ordinabile ma gli altri lo siano? Ho provato ad usarlo anche se l'oggetto non era riordinabile, L'intero genitore UL si è mosso quando ho provato e che a sua volta ha reso il controller principale della UL essere riordinato (è strano). – Phil

+0

@ Phil- puoi forse mettere quello che stai cercando di fare in un jsFiddle con alcune note? È probabile che ci sia un modo per farlo funzionare, ma non sono sicuro di essere in cima al tuo scenario. Grazie! –

+0

Ho aggiunto un violino: http: //jsfiddle.net/zoldello/8hvXN/2/ Quello che sta succedendo è che quando provo a spostare l'elemento NOT MOVABLE, viene selezionato l'intero elemento. Prova a tenere premuto il mouse su NOT MOVABLE e osserva l'intero movimento del contenitore. C'è un modo per fermare questo problema? – Phil