Angular Js Textarea值未通过ng-model分配

时间:2016-11-12 06:51:54

标签: angularjs

我是这个角度JS的新手。我有一个不同的问题。 请任何人帮忙。 我在html中有这个代码:

<textarea  ng-model="user_comments" md-maxlength="500" rows="5" required></textarea>
<input type="text" ng-model="text_comment">
<button ng-click="add_cmnt(text_comment,user_comments)">Added into textarea</button>

和控制器代码是这样的:

$scope.add_cmnt = function(data1, data2){
  $scope.user_comments = data1+data2;
  console.log($scope.user_comments);
}

当我点击这个添加到textarea按钮时,text-comment被追加到user_comments中。但它不起作用。我不知道为什么?请任何人帮忙。

2 个答案:

答案 0 :(得分:1)

您可以直接使用模型值,而无需从函数中发送任何参数。

在追加之前还要隐藏字符串。

<强> $scope.user_comments.toString() + $scope.text_comment.toString()

var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.add_cmnt = function(){
$scope.text_comment = $scope.text_comment ? $scope.text_comment : ''
$scope.user_comments = $scope.user_comments ? $scope.user_comments : ''
  $scope.user_comments = $scope.user_comments.toString() + ' ' + $scope.text_comment.toString()
$scope.text_comment = "";
  console.log($scope.user_comments);
}
});
<!DOCTYPE html>
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<body>

<div ng-app="myApp" ng-controller="myCtrl">

<textarea  ng-model="user_comments" md-maxlength="500" rows="5" required></textarea>
<input type="text" ng-model="text_comment">
<button ng-click="add_cmnt()">Added into textarea</button>

</div>


</body>
</html>

请运行此代码段

Here is the fiddle link

答案 1 :(得分:0)

我在测试时看到你的代码正常工作。但是你犯了一些逻辑错误。您可以尝试这个以获得预期的输出。

在html中

<textarea  ng-model="user_comments" md-maxlength="500" rows="5" required></textarea>
<input type="text" ng-model="text_comment">
<button ng-click="add_cmnt()">Added into textarea</button>

在控制器

$scope.add_cmnt = function(data1, data2){
    $scope.user_comments = $scope.text_comment;
}