如何重构用于初始化和更新的冗余代码
How to refactor the redundency codes for initiate and update?
下面是我在AngularJS中的控制器代码。
var dcApp = angular.module("dcApp", ["dcApp.services"])
dcApp.controller("filterController",["$scope", "filterService",
function ($scope, filterService) {
var filterSentData = {
specie: "all",
cellinfo: "all",
factor: "all",
hideincomplete: "show",
keyword: "",
clicked: null,
page: 1
}
filterService.setFilterSentData(filterSentData)
filterService.request().success(function (data, status) {
$scope.species = data.species
$scope.cellinfos = data.cellinfos
$scope.factors = data.factors
$scope.datasets = data.datasets
})
$scope.setFilter = function(key, content) {
filterSentData[key] = content
filterService.setFilterSentData(filterSentData)
filterService.request().success(function (data, status) {
$scope.species = data.species
$scope.cellinfos = data.cellinfos
$scope.factors = data.factors
$scope.datasets = data.datasets
})
}
}]);
可以发现,filterService.setFilterSentData(filterSentData)
和filterService.request().success
代码段被使用了两次。一个用于初始化,另一个用于setFilter
更改过滤器时的必要更新。。有人对重构代码的好方法有想法吗?
如果我想提取函数中的片段,我应该像$scope.myfunc = function()
那样在$scope
下创建函数,还是像var myfunc = function
那样直接创建?
我像这样重构了它。。
var dcApp = angular.module("dcApp", ["dcApp.services"])
dcApp.controller("filterController",["$scope", "filterService",
function ($scope, filterService) {
var filterSentData = {
specie: "all",
cellinfo: "all",
factor: "all",
hideincomplete: "show",
keyword: "",
clicked: null,
page: 1
}
var filterAjaxUpdate = function(sent) {
filterService.setFilterSentData(sent)
filterService.request().success(function (reply, status) {
$scope.species = reply.species
$scope.cellinfos = reply.cellinfos
$scope.factors = reply.factors
$scope.datasets = reply.datasets
})
}
filterAjaxUpdate(filterSentData)
$scope.setFilter = function(key, content) {
filterSentData[key] = content
filterAjaxUpdate(filterSentData)
}
}]);
相关文章:
- 缓存的最佳实践.避免冗余缓存
- UMD:正在分配给模块,导出冗余
- 如何更正阵列中的这种冗余
- Regex删除涉及零或一的冗余乘法/除法
- 删除方法中的冗余代码
- 多选择器冗余
- 简化冗余jquery's代码
- 排列具有相同数据的多个对象(减少冗余)
- Meteor模板-继承或外包事件以避免代码冗余
- HTML-减少HTML代码冗余
- 如果我两次使用相同的反应/冗余组件,它们会共享状态吗?
- 等待多个 ipc 调用完成,然后再继续电子/冗余
- 在 Javascript 中模拟“IN”运算符以简化冗余逻辑 OR 的最佳解决方案是什么?
- elasticsearch:保留冗余(非规范化)数据或保留 id 列表以进行交叉引用
- 如何获取调度冗余
- 编写函数以防止冗余
- 如何避免客户端验证中的冗余条件
- 同构反应-路由器-冗余同步历史中间件
- ExtJS - 如何创建可重用的函数以避免代码冗余
- 如何重构用于初始化和更新的冗余代码