该功能涉及在点击按钮时显示下拉菜单,虽然有些项目我不想显示,具体取决于条件。
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是否有效,但是它显示相反的结果,即当为真时为假,当为假时为真。我无法理解这种行为
答案 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>'