gpt4 book ai didi

javascript - 无法使用公共(public)共享服务检索其他 Controller 中的数据

转载 作者:行者123 更新时间:2023-12-03 05:11:17 25 4
gpt4 key购买 nike

我正在创建一个名为 Popup Service 的共享服务,以便我可以在两个 Controller (即 BankController 和 CreateBankController)之间共享数据。

我可以在 PopupService 中设置需要共享的对象。在 BankController 中调用 popupService(当单击数据行上的“编辑”链接时)以设置要共享的对象。

然后,弹出表单调用 CreateBankController,但在 CreateBankcontroller 中,我无法从 PopupService 访问共享数据,收到一条错误,指出 objectToEdit 变量未定义。

  1. 请告诉我如何让 PopupService 在两个 Controller 之间共享数据
  2. Popup 共享服务中的数据最终是否会被竞争性用户操作覆盖并显示陈旧数据

工作中的笨蛋 https://plnkr.co/edit/y8dZNU?p=preview

在 CreateBankController 中检索数据

CreateBankController.$inject = ['PopupService'];

function CreateBankController(PopupService) {
var vm = this;

var data = {
bankName: "",
bankAddress: "",
};

debugger;

if (PopupService.getObjectToEdit() !== null) {
data = PopupService.getObjectToEdit();
}

在 BankController 中设置共享数据

  $scope.bankGrid = {
dataSource: queryResult,
columns: [{
dataField: 'orderID',
caption: 'Order ID'
}, {
width: 50,
alignment: 'center',
caption: 'Edit',
cellTemplate: function(container, options) {
$('<a/>').addClass('dx-link')
.text('Edit')
.on('dxclick', function() {
PopupService.addObjecToEdit(options.data);
$scope.showPopup = true;
})
.appendTo(container);
}

共享数据服务 - POPUP SERVICE

(function () {
'use strict';

angular
.module('myApp')
.factory('PopupService', PopupService);

function PopupService() {
var popupInstance = {};
var objectToEdit = {};

var service = {
addObjecToEdit : addObjecToEdit,
getObjectToEdit: getObjectToEdit,
showPopup: showPopup,
hidePopup: hidePopup

};
return service;

//Functions
function addObjecToEdit(pObjectToEdit){
objectToEdit = pObjectToEdit;
}

function getObjectToEdit() {
return objecTtoEdit;
}

function showPopup(){
popupInstance.showPopup();
}

function hidePopup(){
popupInstance.hidePopup();
}
}
}());

最佳答案

您的服务中有一个拼写错误:

function getObjectToEdit() {
return objecTtoEdit;
}

更改为:

function getObjectToEdit() {
return objectToEdit;
}

关于javascript - 无法使用公共(public)共享服务检索其他 Controller 中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41809495/

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