SORU
7 Aralık 2012, Cuma


Ng-model varsayılan değerler açısal js init gelen

Değerleri veritabanından dolu olan bir form var. Nasıl ng-model başlatmak mı?

Örnek:

<input name="card[description]" ng-model="card.description" value="Visa-4242">

Benim denetleyicisi, $scope.kart başlangıçta tanımlı değil. Böyle bir şey yapmak dışında bir yolu var mı?

$scope.card = {
  description: $('myinput').val()
}

CEVAP
7 Aralık 2012, Cuma


Bu yeni Açısal uygulamalarda yaygın bir hatadır. Eğer bunu önleyebilirsiniz eğer sunucu üzerinde HTML içine değerleri yazmak istemiyorum. Eğer bir uzak sunucunuz HTML tamamen, daha iyi işlemek zorunda alabilirsin aslında.

İdeal olarak, Açısal HTML şablonları göndermek, JSON $http üzerinden değerleri yıkmak ve kapsamı içine koy.

Bu yüzden eğer mümkünse, bunu yapmak için:

app.controller('MyController', function($scope, $http) {
    $http.get('/getCardInfo.php', function(data) {
       $scope.card = data;
    });
});

<input type="text" ng-model="card.description" />

Eğer mutlaka bir sunucudan HTML içine değerleri işlemek gerekiyorsa, global bir değişken koyup access penceresi$:

Sayfanızın başlığında yazmak istiyorum:

<head>
   <script>
       window.card = { description: 'foo' };
   </script>
</head>

Ve sonra Denetleyicisi gibi olsun istiyorum:

app.controller('MyController', function($scope, $window) {
   $scope.card = $window.card;
});

Umarım yardımcı olmuştur.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Breno Rises

    Breno Rises

    7 Ocak 2014
  • fufko

    fufko

    27 ŞUBAT 2006
  • KendrickLamarVEVO

    KendrickLama

    9 ŞUBAT 2011

İLGİLİ SORU / CEVAPLAR