亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

默認值的Angular js init ng-model

默認值的Angular js init ng-model

慕后森 2019-10-15 14:10:33
假設您有一個具有從數據庫加載的值的表單。您如何初始化ng-model?例:<input name="card[description]" ng-model="card.description" value="Visa-4242">在我的控制器中,$ scope.card最初是未定義的。除了做這樣的事情,還有別的辦法嗎?$scope.card = {  description: $('myinput').val()}
查看完整描述

3 回答

?
叮當貓咪

TA貢獻1776條經驗 獲得超12個贊

這是新的Angular應用程序中的常見錯誤。如果可以避免,您不想將值寫入服務器上的HTML。如果確實如此,如果您可以擺脫讓服務器完全呈現HTML的局面,那就更好了。


理想情況下,您要發送Angular HTML模板,然后通過JSON中的$ http下拉值并將其放在您的范圍內。


因此,請盡可能執行以下操作:


app.controller('MyController', function($scope, $http) {

    $http.get('/getCardInfo.php', function(data) {

       $scope.card = data;

    });

});


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

如果絕對必須從服務器將值呈現到HTML中,則可以將它們放在全局變量中,并使用$ window訪問它們:


在頁面標題中,您應該寫出:


<head>

   <script>

       window.card = { description: 'foo' };

   </script>

</head>

然后,在您的控制器中,您將像這樣:


app.controller('MyController', function($scope, $window) {

   $scope.card = $window.card;

});

希望對您有所幫助。


查看完整回答
反對 回復 2019-10-15
?
慕工程0101907

TA貢獻1887條經驗 獲得超5個贊

如果您無法重做應用程序以執行@blesh的建議(使用$ http或$ resource下拉JSON數據并填充$ scope),則可以使用ng-init代替:


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


查看完整回答
反對 回復 2019-10-15
  • 3 回答
  • 0 關注
  • 953 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號