我正在寻找带有空值的初始化模型而没有控制器中的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);
}
}
答案 0 :(得分:2)
我担心你必须手动完成......
$scope.user = {prop1: '', prop2: '', prop3: 0, prop4: [] ...};
您可以执行以下操作:
$scope.resetUser = function() {
$scope.user = {prop1: '', prop2: '', prop3: 0, prop4: [] ...};
};
然后在你控制器的底部:
$scope.resetUser();
另一种解决方案可能是从工厂返回这样的存根对象。