Angularjs占位符在动态生成文本框时未显示

时间:2015-11-02 07:31:12

标签: angularjs angularjs-ng-repeat

我正在使用angularjs生成动态文本框。我在控制器中设置了一个数组,并在ng-repeat中重复查看。这是控制器代码: -

this.total_options = [
        {text : 'form.options.Option1' , placeholder: 'Enter Option Here'},
        {text: 'form.options.Option2',  placeholder: 'Enter Option Here' }
    ];

现在我正在重复这个选项,如: -

<li data-ng-repeat="option in mcssController.total_options">                
    <input required="required" type="text"  ng-model="option.text" class="option" placeholder="{{option.placeholder}}" />
</li>

但是当呈现页面时,文本框显示ng-model属性&#39; form.options.optoin1&#39;而不是占位符(&#39;在此输入选项&#39;)。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

看看你是否清除了表格,你应该能够看到占位符!

enter image description here

答案 1 :(得分:0)

尝试:

<li data-ng-repeat="option in mcssController.total_options">                
    <input required="required" type="text" ng-init="model=$eval(option.text)"  ng-model="model" class="option" placeholder="{{option.placeholder}}" />
</li>

您希望ngModel绑定到模型,而不是表示字符串的属性。由于您希望将字符串解释为模型,因此可以使用$ scope。$ eval。如果在ngInit表达式中使用$ scope。$ eval,然后使用result绑定到ngModel,它应该可以工作。