2016-11-14 27 views
0

輸入和textarea中的值應該被推送整個JavaScript部分工作,但是我怎樣才能綁定ng模型,以便Angular將拾取輸入的值信息並將其推入數組中。任何人都知道如何在HTML中做到這一點。添加將被推送到數組中的鍵的值角

angular.module("forum-page", ["myApp"]) 
 
\t .controller("Forum", function($scope) { 
 
\t \t $scope.comments = [ 
 
\t \t \t { 
 
\t \t \t "name": "Kevin", 
 
\t \t \t "comment": "Wat een mooi toestel vandaag ontvangen, zeer blij met mijn bestelling :)", 
 
\t \t \t "country": "Nederland" 
 
\t \t \t }, 
 
\t \t \t { 
 
\t \t \t "name": "Jason", 
 
\t \t \t "comment": "What a great phone I received from Meizu, will surely come back to buy again in the future", 
 
\t \t \t "country": "USA" 
 
\t \t \t }, 
 
\t \t \t { 
 
\t \t \t "name": "姚宣辰", 
 
\t \t \t "comment": "這個手機很標亮, 下次也會買魅族智能手機", 
 
\t \t \t "country": "中國" 
 
\t \t \t }, 
 
\t \t ]; 
 

 
\t $scope.addComment = function() { 
 
\t \t $scope.comments.push({ "name": $scope.name, "comment": $scope.comment, "country": $scope.country}); 
 

 
\t \t var dataObj = { 
 
\t \t \t name: $scope.name, 
 
\t \t \t comment: $scope.comment, 
 
\t \t \t country: $scope.country 
 
\t \t }; 
 

 
\t \t $scope.dataObj = dataObj; 
 

 
\t \t res.error(function(data, status, header, config) { 
 
\t \t \t alert("failure message: " + JSON.stringify({data: data})); 
 
\t \t }); 
 

 
\t \t $scope.name = ""; 
 
\t \t $scope.comment = ""; 
 
\t \t $scope.country = ""; 
 
\t }; 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<input type="text" class="comment-box-name" ng-model="{{dataObj.name}}"/> 
 
<input type="text" class="comment-box-comment" ng-model="{{dataObj.comment}}"/> 
 
<textarea type="text" class="comment-box-country" ng-model="{{dataObj.country}}"></textarea> 
 

 

 
<button ng-click="addComment()">Place comment</button>

+0

你有沒有檢查我的答案? –

+0

是玩過,但沒有任何作品 –

+0

您可以按照您的要求看到它正在運行的演示 –

回答

0

不,你不能這樣做,如果你想在模板中那種自動化。爲了做這種動作,您需要將該操作放入您的點擊事件偵聽器中,該偵聽器充當發送按鈕。

$scope.addComment = function() { 
    // Add validations before proceeding 
    theArray.push(dataObj); 
} 

希望幫助

0

在你的代碼做一些改動:

ng-model值刪除{{}}

使用dataObj.name,dataObj.comment,dataObj.country代替{{dataObj.name}},{{dataObj.comment}},{{dataObj.country}}

2.使用$scope對象,而不是var初始化對象來執行雙向數據綁定。

$scope.dataObj = { 
    name: $scope.name, 
    comment: $scope.comment, 
    country: $scope.country 
}; 

Demo!

+0

當我點擊按鈕時,評論應該放在網頁上。這不是在這裏發生...... –

+0

評論應該放在網頁上?意味着..你想在UI中顯示評論數組數據? –

+0

$ scope.comments已經顯示在網頁上,輸入和texarea的值應該被推到後面。就像堆棧溢出一樣,當您按下添加註釋按鈕時。 –

相關問題