如何在AngularJS中初始化模型?

时间:2013-03-13 10:23:11

标签: angularjs

我正在寻找带有空值的初始化模型而没有控制器中的ng-init或丑陋的代码(我的表单模型非常庞大且包含可变数量的字段)。

请运行示例http://jsfiddle.net/c9Q6Y/

“序列化”链接显示“{}” - 如果输入未被触摸则为空模型,{“name”:“”}如果输入要输入的内容并清除它。

默认情况下如何将AngularJS调整为初始模型字段为空行?

<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);
    }
}

1 个答案:

答案 0 :(得分:2)

我担心你必须手动完成......

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

您可以执行以下操作:

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

然后在你控制器的底部:

$scope.resetUser();

另一种解决方案可能是从工厂返回这样的存根对象。