我有按钮,在保存按钮上我需要将所有控件的值传递给服务 我也写了服务代码,我的查询是如何将所有值传递给工厂方法。
帮助我了解如何在给定模型中发送数据?
这是我的模型类:
public class FavouriteSearch
{
public int UserID { get; set; }
public string Module { get; set; }
public string Name { get; set; }
public List<Cols> ColList{ get; set; }
}
这是我的本地控制器代码:
$scope.favSearchSave = function () {
var favSearchItemList = [];
$scope.searchName = this.searchName;
favouriteSearchRepository.saveFavouriteSearch(favSearchItemList).then(
function (result) {
if(result)
notificationService.showType("success", "Favorite search is successfully saved", "");
},
function (error) {
console.log(error);
});
$scope.showFavSearchModal = false;
};
我正在使用角度模态,所以我需要在弹出保存按钮上保存值。
用户界面代码:
<modal-body>
<div class="row">
<div class="col-lg-3 col-md-3 col-xs-3">
Name
</div>
<div class="col-lg-8 col-md-8 col-xs-8">
<input type="text" style="width:100% !important" ng-model
="searchName" />
</div>
</div>
</modal-body>
<modal-footer>
<button class="btn btn-primary" ng-click="favSearchSave()">Save</button>
<button class="btn btn-warning" ng-click="favSearchCancel()">Cancel</button>
</modal-footer>
答案 0 :(得分:0)
如果使用模态aka ui-bootstrap模式,则可以通过两种方式处理数据保存。用户单击“保存”后,在“模态”保存方法中,您可以将对象传递给服务。或者在您关闭模式时的决心中,您有一个承诺处理成功的保存点击。
无论哪种方式都没问题,在将服务传递给模态时,有关于可测试性容易度的争论,但无论如何都可以。
传递给服务有一个设置和传递对象的方法。服务内部有一个私有变量,用于保存您希望保留的对象。添加get方法以从其他位置获取对象。
简单而经典的角度1范例,用于传递btw控制器,服务,指令,组件。
答案 1 :(得分:0)
这对你有帮助
这里我创建了一个名为$scope.c
的对象并将其推送到saveObject Incase中,saveObject是一个无需进行推送的对象。
var app = angular.module('testApp',[]);
app.service('favSearchRepo',function(){
this.saveFavouriteSearch=function(obj){
console.log(obj)
};
})
app.controller('testCtrl',function($scope,favSearchRepo){
$scope.c={};
$scope.favSearchSave = function () {
var saveObject = [];
saveObject.push($scope.c)
favSearchRepo.saveFavouriteSearch(saveObject);
/*notificationService.showType("success", "it is successfully saved", "");*/
//$scope.showFavSearchModal = false;
};
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="testApp" ng-controller="testCtrl">
<input type="text" ng-model="c.one">
<input type="text" ng-model="c.two">
<input type="submit" ng-click="favSearchSave()">
</div>