2013-03-13 227 views
1

我正在尋找init模型的空值無控制器中的ng-init或醜陋的代碼(我的表單模型非常龐大,包含可變數量的字段)。如何在AnguarJS中初始化模型?

請運行樣品http://jsfiddle.net/c9Q6Y/

「序列化」鏈接顯示「{}」 - 空模式,如果沒有觸及投入,{「名」:「」}如果輸入的東西開關輸入及清除。

如何默認將角度初始化模型字段調整爲空行?

<div ng-app=""> 
    <form name="myForm" ng-controller="Ctrl"> 
     text: <input name="input" ng-model="user.name">  
    <div> 
     <a ng-click="Serialize()">Serialize</a> 
     </div> 
     {{serializedUser}} 
    </form> 
</div> 

function Ctrl($scope) { 
    $scope.serializedUser = ""; 
    $scope.user = {}; 

    $scope.Serialize = function() { 
     $scope.serializedUser = JSON.stringify($scope.user); 
    } 
} 
+0

你的小提琴鏈接是錯誤的。 – Stewie 2013-03-13 10:28:22

+0

Stewie,謝謝你的報告。固定。 – 2013-03-13 11:26:28

+0

爲什麼你需要空模型。你想達到什麼目的? – Stewie 2013-03-13 14:07:20

回答

2

恐怕你不得不做手工......

$scope.user = {prop1: '', prop2: '', prop3: 0, prop4: [] ...}; 

你可以這樣做:

$scope.resetUser = function() { 
    $scope.user = {prop1: '', prop2: '', prop3: 0, prop4: [] ...}; 
}; 

然後在你的控制器底部:

$scope.resetUser(); 

另一種解決方案可能是從工廠返回這樣一個存根對象。