我的控制器中有两个功能。 init()在初始化控制器时运行,add_rule()在按钮的单击事件中运行。在第一种情况下,函数返回一个用于填充数组的数据。使用数组的内容,绘制一个手风琴引导程序。这是我的功能:
function init() {
allocationService.getrules().then(
function (data) {
for (var i = 0; i < data.length; i++) {
var rule = {
RuleName: data[i].ruleName,
RuleId: data[i].ruleid,
IsActive: data[i].isActive
};
$scope.listRules.push(rule);
}
loadfarmbyrule();
}, function (error) {
toastr.error("Ha ocurrido listando las reglas", "Error", vm.toastrOptions);
}),
}
当我运行第二个功能时出现问题:
function add_rule() {
if (validateData() === false) {
return;
}
var flag = true;
var today = $filter('date')(new Date(), 'yyyy-MM-dd HH:mm:ss');
allocationService.saverule(vm.getrule, true, today, today).then(
function (data) {
toastr.info("Regla agregada correctamente", "Exito", vm.toastrOptions);
$scope.listRules = [];
$scope.init = init();
},
function (error) {
flag = false;
console.log(error)
toastr.error("Ha ocurrido agregando la regla", "Error", vm.toastrOptions);
}
)
}
当我的服务中发生了成功添加新规则时,我再次调用函数init()从数据库中加载数组新数据,但这不会发生,因为如果我把断点放在Web Api,没有上升,因此仍然显示数组中的初始数据,而不是再次使用服务,因此不刷新数据。
感谢您提供的帮助。
问候。
抱歉我的英语不好。