AngularJS ng-model的默认值

whi*_*win 11 angularjs

是否有可能使ng模型获得默认值,例如''

我有一个表单,我已经使用了jQuery的serialize函数,并且每当一个值不存在时,它仍然会将它包含在序列化数据中,例如{name: '', age: ''}.

但是,当我使用尝试使用Angular发布它$http并从中获取模型时$scope,它看起来像是undefined空的时候.

Nea*_*ped 10

您也可以尝试:

<div ng-init="foo={}">
    <input type="text" ng-model="foo.name=''"/>
</div>
Run Code Online (Sandbox Code Playgroud)

要么:

<input type="text" ng-init="foo.name=''"/>
Run Code Online (Sandbox Code Playgroud)

它会呈现:

foo = { name: '', .... }
Run Code Online (Sandbox Code Playgroud)


sha*_*ain 9

您可以在视图中使用它们之前在模型中定义属性.

如果您显示控制器代码,我将向您显示需要更新的内容以将其添加到范围中.

它应该看起来像:

在定义应用程序的js文件中

angular.module("MyModule", []).controller('MyCtrl', ['$scope', function ($scope) {
    $scope.myModel = {name:""};
}]);
Run Code Online (Sandbox Code Playgroud)

在您的HTML中

<input type="text" ng-model="myModel.name"/>
Run Code Online (Sandbox Code Playgroud)

注意我不喜欢没有全局变量/函数,因此我使用Angular提供的不同语法来避免这种情况并允许缩小.