gpt4 book ai didi

Javascript 函数不返回 AngularJS 中保存的值

转载 作者:行者123 更新时间:2023-11-28 18:55:45 25 4
gpt4 key购买 nike

这是代码:

app.service("dataShareSvc", ['$rootScope', 'parserUIDataModel', function($rootScope, parserUIDataModel) {

// defaults
this._parserDataLoad = [];

return {
loadParserDataLoad: function (pidId, pidRuleId) {
parserUIDataModel.listParserRules(pidId, pidRuleId, 'y').then(function(data) {
this._parserDataLoad = data;
});
},
getParserDataLoad: function () {
return this._parserDataLoad;
},
};

}]);

我遇到的问题是,当我调用 loadParserDataLoad 时,它确实将非空分配给 this._parserDataLoad

但是,当稍后我调用 getParserDataLoad 时,this._parserDataLoad 的值似乎是空数组。其间没有对该变量进行任何操纵。为什么会发生这种情况?谢谢。

最佳答案

使用闭包修复它:

app.service("dataShareSvc", ['$rootScope', 'parserUIDataModel', function($rootScope, parserUIDataModel) {

// defaults

this._parserDataLoad = [];
var that = this;

return {
loadParserDataLoad: function (pidId, pidRuleId) {

parserUIDataModel.listParserRules(pidId, pidRuleId, 'y').then(function(data) {
that._parserDataLoad = data;
});
},
getParserDataLoad: function () {
return that._parserDataLoad;
},
};

}]);

关于Javascript 函数不返回 AngularJS 中保存的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33659689/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com