recherche

Maison  >  Questions et réponses  >  le corps du texte

angular.js - angularjs双向绑定

input有个ng-model绑定,手动输入能改变这个值,我用jquery改变了一个input的值$('#dd').val('str');
然后scopemodel不变
求救

世界只因有你世界只因有你2744 Il y a quelques jours499

répondre à tous(2)je répondrai

  • 漂亮男人

    漂亮男人2017-05-15 16:57:24

    Si vous utilisez angular way pour modifier et mettre à jour la valeur du DOM ou des variables, aucune opération supplémentaire n'est requise.

    Mais si vous vous éloignez d'Angular et utilisez du code comme jquery qui ne fait pas partie du système d'Angular, vous devez informer Angular de vos modifications afin qu'Angular puisse obtenir la dernière valeur pour la refléter sur la page.

    Vous pouvez donc utiliser la méthode suivante pour notifier angulaire

    $scope.$apply(function(){
        jQuery('input').val(newValue);
    })

    répondre
    0
  • 怪我咯

    怪我咯2017-05-15 16:57:24

    La bonne façon est... de ne pas modifier la vue manuellement.
    Proposition :
    1. Essayez d'exposer le modèle, puis modifiez le modèle. Après la modification, appelez $scope.$apply(). De plus, afin d'éviter diverses erreurs inattendues, vous pouvez écrire setTimeout(function(){$scope.$apply()},0) comme ceci.
    2. Dans tous les cas, si vous avez ce besoin, cela doit être dû à un événement, une opération utilisateur ou un ajax. Les opérations Ajax peuvent utiliser le service $http fourni par Angular. Les opérations utilisateur peuvent généralement être encapsulées dans des directives.

    répondre
    0
  • Annulerrépondre