我希望能够像这样为模型的属性设置初始值
<input type="text" ng-model="selectedModel.title" name="title" value="" >
如上所示,我希望属性的值是一个空字符串,以便最初使用一个空字符串实例化输入文本字段。
但是,当前ng-model="selectedModel.title"
覆盖value=""
。
我该如何克服?
您应该在控制器中执行此操作:
angular.module('MyModule').controller(
'myController',
function ($scope, MyService) {
$scope.selectedModel = { title: '' };
}
// if you're using a service
MyService.getModel().then(function (model) {
$scope.selectedModel = model;
// selected model doesn't have a title set, so give it a blank string as default
if (angular.isUndefined($scope.selectedModel)) {
$scope.selectedModel.title = '';
}
});
);
您可以在此处阅读有关在控制器中设置$ scope初始状态的更多信息。
ng-init的官方AngularJS文档建议ng-init仅具有一种用途,“用于别名化ngRepeat的特殊属性”。在您的情况下,最好使用控制器初始化值。
您可以使用热量:
<input type="text"
name="brand"
ng-model="selectedModel.title"
ng-init="selectedModel.title=''">
</input>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句