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

  • lifeisforsharingDT

    lifeisforsha

    18 Mayıs 2011
  • ModNation Racers H.Q.

    ModNation Ra

    31 Ocak 2010
  • Philip DeFranco

    Philip DeFra

    16 EYLÜL 2006