la mise à jour “espace réservé” attribut à l'aide de knock-out
J'ai un formulaire avec quelques champs d'obtenir certaines données à l'aide de knockout.js (ver. 2.1.0).
Par exemple, pour mettre à jour le champ "valeur" de l'entrée j'ai mis:
<input type="text" name="contrasena" id="login-user" value="" placeholder="" data-bind="value: user">
J'ai un JSON pour stocker la valeur d'un je veux utiliser pour "passer" mot-clé, et elle fonctionne correctement.
J'ai essayé de mettre "espace réservé" attribut à l'aide de la même méthode, mais ça ne fonctionne pas:
<input type="text" name="contrasena" id="login-user" placeholder="" data-bind="placeholder: user">
J'ai essayé de modifier knockout.js fichier ajoutant "ko.bindingHandlers['placeholder']" la fonction basée sur "ko.bindingHandlers['valeur']" (modifier "espace réservé" au lieu de "valeur" dans "ko.jsonExpressionRewriting.writeValueToProperty" de la fonction), mais il ne fonctionne pas correctement, il met l'information dans l'attribut "value" au lieu de "espace réservé".
Quelqu'un connaît le moyen de résoudre ce problème?
Merci beaucoup!
Vous devez vous connecter pour publier un commentaire.
Si vous souhaitez utiliser
data-bind="placeholder: user"
, vous pouvez créer un la coutume de liaison dans votre code js.Vous étiez sur le droit chemin en utilisant
ko.bindingHandlers['placeholder']
mais vous n'avez pas besoin de modifier le knockout.js fichier -- en fait, c'est une mauvaise pratique.Cela exigerait une base personnalisée de liaison:
Pour un guide sur des liaisons, voir ici
Bien que knock-out est elle-même intrinsèquement encombrant, ce qui est légèrement moins. Il supprime la connaissance de la façon dont l'espace réservé est appliquée à l'élément de la vue.
En effet, si dans l'avenir vous souhaite appliquer une sorte de plugin jQuery pour afficher les espaces réservés dans les navigateurs qui ne supportent pas le
placeholder
attribut, ce serait l'endroit (init:
) pour initialiser le plugin -- vous aussi, vous avez besoin d'unupdate:
fonction dans ce cas.Vous devez utiliser l'existant attr de liaison, comme ceci: