我是这个角度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中。但它不起作用。我不知道为什么?请任何人帮忙。
答案 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>
请运行此代码段
答案 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;
}