Vai al contenuto
PLC Forum


Problema con knockout js


sengy777

Messaggi consigliati

Salve a tutti.

Di recente mi sto avvicinando all'utilizzo della libreria JavaScript knockout (https://knockoutjs.com/)...

per motivi lavorativi ho la necessità di risolvere alcuni bug in un' applicazione web, sviluppata in passato con la libreria sopra citata, ma purtroppo attualmente 

non ho grandi conoscenze nell'uso di questo strumento per lo sviluppo web (quasi sempre ho utilizzato js puro ed ajax per piccole implementazioni di applicazioni sviluppate con .Net sia

Web Form ed ultimamente MVC).

 

Descrivo brevemente il problema e spero di essere sufficientemente chiaro per chi legge e vorrà darmi gentilmente un aiuto...

 

L'applicazione ha un'unica pagina web(se non ho capito male, questo tipo di libreria - come tante altre - viene usata nell'implementazione del pattern MVVM), all'interno della quale si possono aggiungere/modificare/eliminare elementi;

questi elementi comporranno un file xml, che al momento del salvataggio delle modifiche, verrà aggiornato con le variazioni volute.

Il problema mi capita nel momento in cui ho la necessità di creare un elemento figlio all'interno di un elemento padre, ovvero quando si clicca sulla freccia gialla indicata sotto (ovviamente non è questa la visualizzazione del portale, è un esempio schematizzato del suo funzionamento) :

 

image.png.71c7eeb6345f991f5fec0bd044279070.png

 

e facendo click sul link "figlio1"(o figlio2) in debug (da visual studio) viene fuori all'interno del js dinamico, il seguente errore :

image.png.a68cac694cffd1a04d3aaff35bfb9c94.png

 

che non si verifica nel momento della creazione dell'elemento padre, ma solo per la creazione di elementi figli.

Ho letto che KnockOut utilizza questo genere di sintassi - data-bind="click: nomeFunzioneJs"nella pagina html all'interno dei tag, e queste funzioni sono state implementate

anche per l'aggiunta dell'elemento in questione che crea problemi

                       

                        <i class="config-button fa fa-plus" title="aggiungi un elemento" aria-hidden="true"
                            data-bind="click: function() { $parents[2].newItem($parents[1]); }">
                        </i>

 

ma pare non esserci una proprietà per l'elemento, come indicato dal messaggio d'errore, che però essendo molto generico e non dando molte informazioni in più,

non saprei come approfondire la questione ed analizzare più a fondo il problema(anche per il fatto che ad ora non ho ben chiaro cosa si intenda con $parents[n] in questa libreria).

 

Qualcuno ha conoscenze maggiori in merito?potrebbe darmi qualche consiglio e darmi un suggerimento per fare un'analisi più approfondita in maniera da risolvere questo problema con tale libreria js?

Ringrazio in anticipo per le risposte.

 

Link al commento
Condividi su altri siti


Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...