一、AngularJS的模板綁定機制好像和其$http服務也有必定關係,若是用jQuery Ajax的返回值賦給$scope的做用域變量,整個綁定顯示的節奏慢一個事件,神器果真麻煩啊。
二、對hidden input作綁定好像無效
三、AngularJS中對input的ng-model綁定和對Input的value賦值之間存在矛盾。若是綁定了model就沒法對value作賦值。
四、input不作ng-model綁定,那驗證輸入的機制就會有問題:錯誤提示顯示不出來。
五、根據4和5兩個條件,對錶單數據作初始化最好用ng-model,對$scope的變量作初始化時,只能對一級子屬性複製好比$scope.attr1,若是直接對二級屬性,$scope.attr1.attr2賦值,由於第一次初始化時可能$scope.attr1這個對象實際尚未建立,會致使代碼出錯。app
angular 的 ng-model 確實和 input 的 value存在矛盾,可是能夠預先把值傳遞到$scope.formData裏
function formController($scope, $http) {
// create a blank object to hold our form information
// $scope will allow this to pass between controller and view
$scope.formData = { 'name':'這裏是input預先賦值內容' };
// process the form
$scope.myForm = function() {
$http({
method : 'POST',
url : '/role/edit',
data : $.param($scope.formData), // pass in data as strings
headers : { 'Content-Type': 'application/x-www-form-urlencoded' } // set the headers so angular passing info as form data (not request payload)
})
.success(function(data) {
console.log(data);
if (!data.success) {
// if not successful, bind errors to error variables
//$scope.errorName = data.errors.name;
//$scope.errorSuperhero = data.errors.superheroAlias;
} else {
// if successful, bind success message to message
//$scope.message = data.message;
}
});
};
}
而後再input中寫
<input type="text" name="name" ng-model="formData.name" class="form-control" placeholder="Role Name" value="">
這樣ng-model="formData.name"就默認賦值了this