0

またはであるという条件isErroredに基づいてクラスを適用する方法。truefalse

以下のコードは機能していません。

$scope.addWork = function() {
    var isErrored = false;
    $rootScope.$on('isErrored', function(event, data) { 
        alert(data);
        if(data == true)
            isErrored = true;
    });
    ngDialog.open({
        scope: $scope,
        template: 'addWorkingDialog',
        controller: 'addWorkingController',
        className: isErrored ? 'ngdialog-theme-default 
         alertmsgDialog' : 'ngdialog-theme-default workingDialog'
    });
};
4

1 に答える 1

0

イベントリスナーであるため、関数の$rootScope.$on('isErrored', function(event, data) { ... });外に移動し、 $scope プロパティとして使用する必要があります。$scope.addWorkisErrored

$scope.isErrored = false;
$rootScope.$on('isErrored', function(event, data) { 
    if(data == true)
        $scope.isErrored = true;
    else
        $scope.isErrored = false;
});

$scope.addWork = function() {
    ngDialog.open({
        scope: $scope,
        template: 'addWorkingDialog',
        controller: 'addWorkingController',
        className: $scope.isErrored ? 'CLASS_1' : 'CLASS_2'
    });
};
于 2015-06-02T12:20:02.407 に答える