关于在angularJS中的视图init上预填充模型值的问题



我想从我的控制器中预填充一个输入字段:

这是输入字段:

<input class="form-control" type="text" name="partnerName" placeholder="Completeaza numele partenerului" ng-model="partnerNameModel.field" required validate-field="partnerNameModel">

在我的控制器中,如果我这样做:

partnerNameModel.field = 'test';

我得到以下错误:

TypeError: Cannot set property 'field' of undefined

所以,我不得不这样做:

$scope.partnerNameModel = {field: 'dsad'};

我这个做法好吗?

是否有更好的方法来预填充字段

您可以通过执行来创建对象partnerNameModel

$scope.partnerNameModel = {}

在控制器的顶部,您可以使用点语法来设置值,如

$scope.partnerNameModel.value = "foo"
$scope.partnerNameModel.bar = "lemons"

这就是我个人在Angular 中处理对象的方式

当您处理具有占位符的输入时,不设置默认值是有意义的。

然而,你正在使用的对象必须被创建,否则它将是一个巨大的痛苦。

我建议您简单地使用:

$scope.partnerNameModel = {};

请确保初始化不使用非空默认值的字段(例如下拉列表)。

$scope.partnerNameModel = {
    myDrop: $scope.myList[0]
};

最新更新