Angular Js的Textarea值不是通过ng-model分配的



我是angular 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>

和Controller的代码如下:

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

当我点击这个添加到文本区域按钮文本评论被追加到user_comments。但这不是工作。我不知道为什么?

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

也可以在追加前转换为字符串。

$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>

请运行这段代码

这里是小提琴链接

我看到你的代码工作时,我测试。但是你犯了一些逻辑错误。您可以为期望的输出尝试此方法。

在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;
}

最新更新