ส่งผ่านตัวแปรมากกว่าหนึ่งตัวใน angularjs?

app.factory('dataPassingService', function() {
var savedData = {};
function set(data) {
    savedData = data;
}
function get() {
    return savedData;
}

return {
    set: set,
    get: get
}
});

ตัวควบคุม1

$scope.text = '9';
     dataPassingService.set($scope.text);

ตัวควบคุม2

 $scope.mes = dataPassingService.get();
 alert("the scope is "+scope.mes);

ฉันส่ง $scope.text จาก controller1 ไปยัง controller 2 โดยใช้ app.factory และมันทำงานได้สมบูรณ์แบบ ฉันต้องการส่งขอบเขตเพิ่มเติมร่วมกันจาก controller1 ไปยัง controller2 เช่น ฉันต้องการส่ง $scope.text='9' และ scope.text1='10' จากนั้นนำไปที่ controller2 ด้วย datapassingService.get() .ขอบคุณล่วงหน้า


person Antonis    schedule 08.02.2016    source แหล่งที่มา


คำตอบ (1)


คุณสามารถส่งคีย์เพื่อระบุข้อมูลแต่ละส่วนโดยไม่ซ้ำกันได้ เช่น

app.factory('dataPassingService', function() {
    var savedData = {};

    function set(key, data) {
        savedData[key] = data;
    }

    function get(key) {
        return savedData[key];
    }

    return {
        set: set,
        get: get
    }
});

การใช้งาน:

ผู้ควบคุม 1

$scope.text = '9';
dataPassingService.set("myKey", $scope.text);
dataPassingService.set("message", "foo");

คอนโทรลเลอร์ 2

$scope.mes = dataPassingService.get("myKey");
$scope.message = dataPassingService.get("message");
alert("the scope is " + $scope.mes); // the scope is 9
person Seaal    schedule 08.02.2016