我想从我的控制器中预填充输入字段:
这是输入字段:
<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'};
我这是一个好习惯吗?
是否有更好的方法来预填充字段?
答案 0 :(得分:1)
您可以通过执行
创建对象partnerNameModel$scope.partnerNameModel = {}
在控制器顶部,您可以使用点语法设置
之类的值$scope.partnerNameModel.value = "foo"
$scope.partnerNameModel.bar = "lemons"
这就是我个人使用Angular
中的对象的方式答案 1 :(得分:0)
当您处理具有占位符的输入时,不设置默认值是有意义的。
但是,必须创建您正在使用的对象,否则这将是一个很大的痛苦。
我建议你只使用:
$scope.partnerNameModel = {};
确保初始化不使用非空默认值的字段(以下拉列表为例)。
$scope.partnerNameModel = {
myDrop: $scope.myList[0]
};