通过控制器更新后,将angularjs textarea绑定到模型

时间:2015-08-11 19:48:12

标签: angularjs

在我的控制器中,我使用textarea更新$http。它按预期工作。但现在我想将message1message2绑定到模型中,该怎么做?

结果:

This is {{message1}} in 1st line
This is {{message2}} in last line
在CONTROLLER中

$scope.myTextArea = response.data;
HTML中的

<form name="myform">
  <p><input type="text" ng-model="message1"/>Message1</p>
  <p><input type="text" ng-model="message2"/>Message2</p>
</form>
<p>
  <textarea type="text" id="textarea" model="myTextArea" cols="80" rows="10" >
    {{myTextArea}}
  </textarea>
</p>

2 个答案:

答案 0 :(得分:1)

包装意味着您需要将代码放在内置ng-controller指令中以实现任何目的。

以下是plunker的工作副本。

<body ng-app="myApp">
    <form name="myform" ng-controller="myController">

          <!-- Place your "RESULT" inside the controller (myController) scope -->
          This is {{message1}} in 1st line <br />
          This is {{message2}} in last line

          <p><input type="text" ng-model="message1"/>Message1</p>
          <p><input type="text" ng-model="message2"/>Message2</p>
    </form>
    <p>
          <textarea type="text" id="textarea" model="myTextArea" cols="80" rows="10" >
            {{myTextArea}}
          </textarea>
    </p>
</body>

答案 1 :(得分:1)

你的意思是你想把两条消息都放到textarea?然后你需要使用手表

$scope.$watchGroup(['message1', 'message2], function(newValues, oldValues, scope) {
    $scope.myTextArea = 
    'This is '+message1+' in 1st line\r\n'+
    'This is '+message2+' in last line'
});