angular.js - angular1.x, konflik antara operasi dom dan operasi data ng
仅有的幸福
仅有的幸福 2017-05-15 16:59:06
0
1
735

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?

仅有的幸福
仅有的幸福

membalas semua(1)
刘奇

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";
    });
  });
});
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan