2016-07-28 58 views
3

我有我的應用程序一個textarea像這樣:角textarea的驗證錯誤

<textarea type="text" class="form-control" name="bioBackground" ng-model="obj.background" value="obj.background" ng-change="autosave()" maxlength="1500" required></textarea> 

這是一個需要領域,你可以看到我已經添加代碼所需的標籤。但是這個所需的標籤導致了Angular的錯誤。

例如:

如果我在現場和退格輸入,並刪除所有它會從範圍的對象的文本。見下面的例子:

退格鍵之前

你可以看到背景變量是在範圍之內。

enter image description here

退格和後刪除文本:

你可以看到背景變量是從範圍了。

enter image description here

這僅如果我使用所需的標籤發生。如果我不使用所需的標籤,它可以很好地工作,甚至在刪除所有文本後,背景變量仍保留在範圍內。

我在做什麼錯。

+0

是不是對象,其中包含'experience'和'background',在你的控制器創建? – KreepN

+0

@KreepN是的,像這樣'$ scope.obj = {}' – Skywalker

+0

剛剛檢查過自己,這是一些瘋狂的東西。無法找到有關上述問題的任何文檔。希望別人有一些洞察力 – KreepN

回答

0

其工作,背景是未定義的,同時使用退格刪除所有文本。

var app = angular.module('plunker', []); 
 

 
app.controller('MainCtrl', function($scope) { 
 
    $scope.name = 'World'; 
 
    $scope.obj = { 
 
"experience":{ 
 
"field0":"asdf", 
 
"field1":"asss" 
 
}, 
 
"background":"" 
 
}; 
 
console.log($scope.obj); 
 
$scope.autosave=function(){ 
 
console.log($scope.obj); 
 
    
 
} 
 

 
});
<!DOCTYPE html> 
 
<html> 
 

 
    <head> 
 
    <meta charset="utf-8" /> 
 
    <title>AngularJS Plunker</title> 
 
    <script>document.write('<base href="' + document.location + '" />');</script> 
 
    <link href="style.css" rel="stylesheet" /> 
 
    <script data-semver="1.4.9" src="https://code.angularjs.org/1.4.9/angular.js" data-require="[email protected]"></script> 
 
    <script src="app.js"></script> 
 
    </head> 
 

 
    <body ng-app="plunker" ng-controller="MainCtrl"> 
 
    <textarea type="text" class="form-control" name="bioBackground" ng-model="obj.background" value="obj.background" ng-change="autosave()" maxlength="1500" required></textarea> 
 
    </body> 
 

 
</html>