Jump to content
PLC Forum

sengy777

Problema con knockout js

Recommended Posts

sengy777

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 to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...