ng-show工作,但与预期相反

时间:2016-01-19 09:33:28

标签: javascript angularjs ng-show

该功能涉及在点击按钮时显示下拉菜单,虽然有些项目我不想显示,具体取决于条件。

        function dropdownMenu(params) {
        var ownFunction = params.data.functieMijnLicentieHouder;
        if (params.data.systeem === 'VVT' && (ownFunction || (!ownFunction && fwgAuthService.userHasClaim('FWGVVT FWG functieonderzoek'))) ){
            return '<div class="io-dropdown"><img src="img/arrow_blue_down.png" ng-click="vm.showMenu(data)"/>' +
                '<ul ng-show="data.showMenu" ng-mouseleave="data.showMenu = false">' +
                '<li>Inzien functiebeschrijving</li>' +
                '<li>Inzien functiemotivatie</li>' +
                '<li ng-show="!!ownFunction"> Muteren functiemotivatie </li>' + // if ownFunction is true.show
                '<li>it works</li>' +
                '</div>';
        } else if (params.data.systeem === 'FWG3' && (ownFunction || (!ownFunction && fwgAuthService.userHasClaim('FWGVVT FWG functieonderzoek'))) ){
            return '<div class="io-dropdown"><img src="img/arrow_blue_down.png" ng-click="vm.showMenu(data)"/>' +
                '<ul ng-show="data.showMenu" ng-mouseleave="data.showMenu = false">' +
                '<li>Inzien functiemotivatie</li>' +
                '<li>Inzien FWG 3 Indeling</li>'+
                '</ul>' +
                '</div>';
        }
    }

ownFunction的值最初是真的,我在使用console.log之前检查if语句和ng-show是否有效,但是它显示相反的结果,即当为真时为假,当为假时为真。我无法理解这种行为

2 个答案:

答案 0 :(得分:1)

ownFunction应该在$ scope对象中,以便ng-show工作。

而不是

var ownFunction = params.data.functieMijnLicentieHouder;

$scope.ownFunction = params.data.functieMijnLicentieHouder;

答案 1 :(得分:-1)

快速查看,您确定!!中需要两个ng-show,这可能是原因吗?

'<li ng-show="!!ownFunction"> Muteren functiemotivatie </li>'

相关问题