我试图根据配置设置return {}中返回的值显示/隐藏div。如果UserProfileLinkData设置为1,我想将它们显示在底部,如果设置为0,我想将它们显示在顶部。
返回位于configurationService中,该控制在此视图的控制器中称为依赖项。我知道这是有效的,因为我可以从configurationService调用LinkToken。
return {
UserProfileLinkData: 1,
LinkToken: userLinkToken
}
以下是我想根据此值隐藏/显示的视图和视图。
<ul class="list-unstyled" ng-show="UserProfileLinkData === 0">
<li><a style="cursor: pointer;" ng-if="!user.IsLinked" ng-click="openFindPrescriptionModal()">Find My Profile</a></li>
<li ng-show="false"><a style="cursor: pointer;">Add my Dependents</a></li>
</ul>
<ul class="list-unstyled" ng-show="UserProfileLinkData === 1">
<li><a style="cursor: pointer;" ng-if="!user.IsLinked" ng-click="openFindPrescriptionModal()">Link My User Profile</a></li>
<li ng-show="false"><a style="cursor: pointer;">Add my Dependents</a></li>
</ul>
以下是来自控制器的代码
angular.module('User.Controllers').controller('homeController', function ($scope, $rootScope, $modal, userService, configurationService, accountService,$location) {
$rootScope.showNavbar = true;
$scope.user = userService.GetUserInformation();
$scope.updatingAcct = true;
$scope.loading = false;
$scope.UserProfileLinkData = configurationService.UserProfileLinkData;
...
答案 0 :(得分:1)
改变这个:
ng-show="UserProfileLinkData === 0"
ng-show="UserProfileLinkData === 1"
为此:
ng-show="UserProfileLinkData == 0"
ng-show="UserProfileLinkData == 1"
它对我有用;)
答案 1 :(得分:0)
确保将UserProfileLinkData服务变量分配给控制器内的变量,以使该视图具有相同的名称。你在做这个吗?您能显示控制器的代码和注入的状态服务吗?
答案 2 :(得分:-1)
您可以尝试使用&#34; $ scope&#34;要在ng-show中访问的变量的属性。尝试使用 -
return {
$scope.UserProfileLinkData: 1,
LinkToken: userLinkToken
}
之后,您可以使用相同的HTML代码而无需任何更改。试着让我看看这是否有效。