关于在an​​gularJS中查看init的预填充模型值的问题

时间:2014-10-31 14:23:45

标签: angularjs

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

这是输入字段:

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

我这是一个好习惯吗?

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

2 个答案:

答案 0 :(得分:1)

您可以通过执行

创建对象partnerNameModel
$scope.partnerNameModel = {}

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

之类的值
$scope.partnerNameModel.value = "foo"
$scope.partnerNameModel.bar = "lemons"

这就是我个人使用Angular

中的对象的方式

答案 1 :(得分:0)

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

但是,必须创建您正在使用的对象,否则这将是一个很大的痛苦。

我建议你只使用:

$scope.partnerNameModel = {};

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

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