Angularjs:我想在点击时将值插入输入字段

时间:2016-06-09 13:46:12

标签: javascript angularjs

<input type='text' ng-model="mydata"  />
  <span ng-bind="$parent.$eval(mydata)"></span> <br>

  <button ng-repeat="button in buttons" ng-click =" mydata = button">
    {{button}}</button>

这里我有一系列按钮,当我点击一个按钮时,它将插入输入字段而不删除以前的值。

2 个答案:

答案 0 :(得分:0)

有时使用多级范围主要类型存在问题。 因此,如果更改也尝试使用$ parent.mydata,如果mydata是直接父级(或$ parent。$ parent.mydata等等)或者使用父控制器上的对象,myData作为属性,以便您可以从在子对象之下,如“objectName.mydata”

答案 1 :(得分:0)

问题是ng-repeat创建了新的范围。您需要执行ng-click="$parent.mydata=button"

在此处查看:http://plnkr.co/edit/yrIR6L0tDBI1IaCkaKYw?p=preview

<div ng-controller="Ctrl">
    <input type='text' ng-model="mydata"  />
    <button ng-repeat="button in buttons" ng-click="$parent.mydata = $parent.mydata.toString() + button">{{button}}</button>
</div>