模态POP范围不保留值

时间:2015-12-25 10:45:09

标签: angularjs

我有一个html页面,有一个按钮。点击此按钮,打开角度模态弹出窗口。我们已经从父窗口向弹出窗口发送了一些数据。弹出窗口有三个kendo下拉列表。数据从父窗口发送到弹出窗口,将在下拉列表中选择值。但发送的数据在弹出窗口加载时变为空白,甚至数据成功发送到弹出窗口。 我的父页面代码如下:

  $scope.openPOPWindow = function (condition) {
    var objRegelDetails = {
        //param1: $scope.modelObject[condition.ParameterFejl1Model],
        //param2: $scope.modelObject[condition.ParameterFejl2Model],
        //param3: $scope.modelObject[condition.ParameterFejl3Model],
        param1: '13',
        param2: '14',
        param3: '15',
        conditionKode: condition.ConditionKode
    };
    var modalInstance = $modal.open({
        backdrop: 'static',
        templateUrl: './RuleEngine/UI/RegelConditionPopUp',
        controller: RegelContrl.RegelConditionController,
        keyboard: false,
        resolve: {
            items: function () {
                return objRegelDetails;
            }
        }
    });

    modalInstance.result.then(function (selectedItem) {
        if (!IsNullorEmpty(selectedItem)) {
            alert(selectedItem.Param1);
        }
    }, function () {
    });
};

和POP窗口控制器如下:

  var adm = angular.module('AdminModule');
  adm.controller('RegelConditionPopUpCtrl', ['$scope', 'RegelService', '$q',      '$rootScope', '$modalInstance', 'items', 'DirtyFlagPopup', 'SagService', 'localize', 'toaster', 'ValidationService',
 function ($scope, RegelService, q, $rootScope, $modalInstance, items,     DirtyFlagPopup, SagService, localize, toaster, ValidationService) {
 function loadhandlingType() {
    var paramTypes = RegelService.GetParamTypes();
    //angular.element('#dvLoadingUA').show();
    q.all([paramTypes]).then(function (responses) {

        if (responses[0].length > 0) {
            $scope.drpParamType.data(responses[0]);
        }
        else {
            $scope.drpParamType.data([]);
        }

        //angular.element('#dvLoadingUA').hide();
    });
};

$scope.cancel = function () {
    $modalInstance.close();
};

$scope.PushRegelConditionParamData = function () {
    var selectedData = {
        Param1: '',
        Param2: '',
        Param3: ''
    };
    selectedData.Param1 = angular.element('#ddlparameterOption1' + $scope.RegelConditionUID).val();
    selectedData.Param2 = angular.element('#ddlparameterOption2' + $scope.RegelConditionUID).val();
    selectedData.Param3 = angular.element('#ddlparameterOption3' + $scope.RegelConditionUID).val();
    $modalInstance.close(selectedData);
};

$scope.initializedDropDown = function () {

    $scope.drpHandlingType = new kendo.data.DataSource({
        data: [],
        type: "json",
    });
    $scope.drpHandlingTypeOption = {
        dataSource: $scope.drpHandlingType,
        dataTextField: FindRegelEnum.TextField,
        dataValueField: FindRegelEnum.ValueField
    };

    $scope.drpParamType = new kendo.data.DataSource({
        data: [],
        type: "json",
    });
    $scope.drpParamTypeOption = {
        dataSource: $scope.drpParamType,
        optionLabel: localize.getLocalizedString("_RE_Home_DefaultSelect_"),
        dataTextField: FindRegelEnum.TextField,
        dataValueField: FindRegelEnum.ValueField
    };

    loadhandlingType();
};

$scope.InitializeRC = function () {
    $scope.RegelConditionUID = GetUID();
    $scope.ModelData = {
        Parameter1: '',
        Parameter2: '',
        Parameter3: ''
    };
    $scope.initializedDropDown();
    $scope.ModelData.Parameter1 = items.param1,
    $scope.ModelData.Parameter2 = items.param2,
    $scope.ModelData.Parameter3 = items.param3
};

}]);

但问题是在html上我们可以看到 ModelData.Parameter2 的值一秒钟而且它消失了...... 请告诉我为什么范围变量不保留其值

0 个答案:

没有答案