ng-init со словами в AngularJS
Я пытаюсь установить, является ли создаваемый новый элемент услугой или продуктом. Я хочу, чтобы по умолчанию продукт был выбран.
<div ng-init="pr.type=Product">
<div class="form-group">
<label class="radio-inline">
<input type="radio" ng-model="pr.type" id="productType" value="Product"> Product
</label>
<label class="radio-inline">
<input type="radio" ng-model="pr.type" id="serviceType" value="Service"> Service
</label>
</div>
</div>
Если я изменю тип pr.type на числовой, например, 1 для продукта и 2 для обслуживания, это сработает. Но это не то, что я хочу.
Поскольку заполнители моего поля меняются при изменении выбранного типа.
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<input type="text" ng-model="pr.upc" class="form-control" placeholder="{{pr.type}} Number"/>
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<input type="text" ng-model="pr.name" class="form-control" placeholder="{{pr.type}} Name"/>
</div>
</div>
</div>
Ng-init не работает со словами? Я думаю, это не имеет значения. Что я делаю неправильно?
1 ответ
Решение
Поскольку ваш параметр является строкой, вам нужно заключить его в кавычки, иначе движок javascript не будет интерпретировать его так, как вам бы хотелось.
Чтобы это исправить, просто добавьте кавычки вокруг этого термина: ng-init="pr.type='Product'"