2015-12-31 69 views
0

我在AngularJS新。獲得價值不NG-重複

我想從輸入文本值,而不在值是Python的NG-重複。從Python的

值:

{{user.id}} 

我的文字輸入:

<form ng-submit="SendHttpPostData()"> 
    <p><input type="text" ng-model="user" value="{{user.id}}"></p> 
    <input type="submit" value="Submit" /> 
</form> 

我的問題是:

  1. user.id的值不輸入文本顯示。
  2. 我得到未定義的結果,當單擊提交按鈕。
+0

您應該設置用戶對象蟒蛇值如果可能的話你的角度控制器。 –

+0

將'ng-model'設置爲整個'user'對象而不是該對象的屬性是沒有意義的。否則,它不清除的問題是什麼 – charlietfl

+0

詹姆斯巴克你可以舉一些例子.. – nuriffah

回答

0

默認情況下,在初始化數據綁定時,角度不會讀取輸入的value屬性。然而,你可以寫一個指令,它會爲你做這一點:

app.directive('value', function() { 
    return { 
    restrict: 'A', 
    require: '?ngModel', 
    link: function postLink(scope, element, attrs, ngModel) { 
     if (!ngModel) 
     return; 

     var val = attrs.value || element.val() || element.text(); 
     ngModel.$setViewValue(val); 
     ngModel.$render(); 
    } 
    }; 
}); 

這將確保無論何時value屬性與ng-model一起出現時,它會被用來初始化綁定。查看Plunker進行演示。


但是,請注意,這不是從後端將數據傳遞到角的推薦方式。通常,最好是寫一個JSON API端點和使用$http$resource加載數據到客戶側。