cari

Rumah  >  Soal Jawab  >  teks badan

angular.js - angular1.x, konflik antara operasi dom dan operasi data ng

http://codepen.io/anon/pen/JXogBj?editors=1010

Seperti yang ditunjukkan dalam kod di atas, jika
mengklik 1:dom操作 dan kemudian mengklik 2:ng操作, nilai label tidak akan berubah melainkan anda mengklik 3:ng操作 dan kemudian mengklik 2:ng操作.
Adakah ada cara untuk menjadikan 2:ng操作 sentiasa berkesan?

仅有的幸福仅有的幸福2779 hari yang lalu739

membalas semua(1)saya akan balas

  • 怪我咯

    怪我咯2017-05-15 17:01:06

    Terangkan sebabnya dahulu

    • 1: Operasi DOM secara langsung menukar nilai View, tetapi $scope.name masih 123 dan ini sangat penting

    • 2: operasi ng, kerana $scope.name masih 123, dan ia diberikan nilai 123 pada masa ini, ia sebenarnya tidak melakukan apa-apa

    • 3: operasi ng, $scope.name diberikan nilai 124. Pada masa ini, nama berubah, dan sudut kembali untuk mengemas kini nilai paparan Kerana nilainya adalah sama kesan tidak dapat dilihat. Kemudian klik operasi 2:ng, dan $scope.name diberikan nilai 123. Jika ia ditukar, nilai paparan akan dikemas kini secara serentak.

    Agak berbelit-belit

    Tambahan

    var helloApp = angular.module("helloApp", []);
    helloApp.controller("HelloCtrl", function($scope) {
      $scope.name = "123";  
      
      $('#domopr').click(function(){
        $scope.$apply(function(){
           $scope.name = "124";
        });
      });
    });

    balas
    0
  • Batalbalas