2013-08-19 2 views
0

Dans mon application, je lie les données d'une API à un ul avec succès. Toutefois, je ne peux pas appeler KO appeler la fonction liée à l'événement click d'un tag a. Je suis en dessous de l'erreur:Comment résoudre "Erreur non détectée: Impossible d'analyser les liaisons"?

Uncaught Error: Unable to parse bindings.
Message: ReferenceError: loadContact is not defined;
Bindings value: click: loadContact,attr: { title: 1}

Code Voir:

<ul data-role="listview" id="ListSss" data-divider-theme="b" data-inset="true"> 
    <li data-role="list-divider" role="heading"> 
      Criteria Selected 
     </li> 
     <!-- ko foreach: Contacts --> 
     <li data-theme="c"> 
      <a href="#" data-transition="slide" data-bind="click: loadsss,attr: { title: sss }"> 
       <span data-bind="text: FName + ' ' + LName + ' (' + Classifiy +':'+ Position+ ')'" ></span> 
      </a> 
     </li> 
    <!-- /ko --> 
</ul> 

Code JS:

self.loadsss = function() { 
     alert("hi"); 
    } 

En raison de lien présent href thats foreach pourquoi je ne peux pas tirer cliquez cas href? Où ai-je fait une erreur?

+1

Pouvez-vous ajouter le viewmodel? – Damien

+0

Vous faites probablement l'erreur dans un peu de code que vous n'avez pas posté. Le code que vous avez posté (lorsqu'il est étendu pour faire un [sscce] (http://sscce.org)) fonctionnera très bien (http://jsfiddle.net/UX6cF/). – Jeroen

Répondre

2

Le problème est que, la fonction loadContact est utilisée à l'intérieur for-loop, mais la fonction loadContact est une partie de viewModel, pas une partie de contact unique. Utilisez à la place $parent.loadContact.

<a href="#" data-transition="slide" data-bind="click: $parent.loadContact,attr: { title: ContactID }"> 
     <span data-bind="text: FirstName + ' ' + LastName + ' (' + Classification +':'+ Position+ ')'" ></span> 
    </a> 

JSFiddle DEMO

+0

merci beaucoup llya .. son travail pour moi –

Questions connexes