ng-init 中的单词 AngularJS

ng-init with words in 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 不能用文字吗?我会认为这无关紧要。我做错了什么?

由于您的参数是一个字符串,因此您需要将其引用,否则 javascript 引擎将不会按照您的意愿对其进行解释。

要修复它,只需在术语周围添加引号,如下所示:ng-init="pr.type='Product'"