Angular js - 在按钮单击时将数据添加到现有模型

时间:2018-04-13 11:06:25

标签: javascript angularjs

我想在提交数据的现有模型中添加数据,下面是代码

HTML代码

<input type="text" ng-model="configData.A1" />
<input type="text" ng-model="configData.A2" />
<input type="text" ng-model="configData.A3" />
<input type="text" ng-model="configData.A4" />
<button class="btn" ng-click="saveData(configData)">Save Data</button>

Angular js code

$scope.saveData = function (configData) {
   //Want to add below commented data into existing configData
   //configData.uniqueId = $scope.config.uid;
   //configData.uniqueName = $scope.config.uName;
   $http.post(saveConfigData_api, configData).then(function (data) {
        $('#progressbar').hide();
   });
 };

2 个答案:

答案 0 :(得分:1)

您实际上并不需要传递configData saveData函数,因为它是AngularJS中的模型数据,因此您可以通过$scope访问它。将其作为函数参数传递不会反映configData模型中的更改。所以,将代码更改为

<强> HTML

<input type="text" ng-model="configData.A1" />
<input type="text" ng-model="configData.A2" />
<input type="text" ng-model="configData.A3" />
<input type="text" ng-model="configData.A4" />
<button class="btn" ng-click="saveData()">Save Data</button>

<强> CONTROLLER

$scope.saveData = function () {
   $scope.configData.uniqueId = $scope.config.uid;
   $scope.configData.uniqueName = $scope.config.uName;
   $http.post(saveConfigData_api, configData).then(function (data) {
        $('#progressbar').hide();
   });
 };

使用$scope.configData将对configData模型进行更改。

答案 1 :(得分:0)

$scope.saveData = function (configData) {
   //Want to add below commented data into existing configData
   configData.uniqueId = $scope.config.uid;
   configData.uniqueName = $scope.config.uName;
   $http.post(saveConfigData_api, configData).then(function (data) {
        $('#progressbar').hide();
   });
 };

这应该可以解决问题,或我理解错误的问题。