ng开关与预期选项不匹配



我的angularjs ng开关有问题

JS-

function TestCtrl($scope) {
    $scope.currentUser = {"userId":"1","userRole":"N"};
    $scope.userRoles = {"normal":"N","admin":"A"}
    $scope.patient = {name: 'John'};
}

HTML

    <div ng-switch on="currentUser.userRole">
      <a ng-switch-when="userRoles.normal" href="normalUrl"> 
          {{patient.name}} 
      </a>
      <a ng-switch-when="userRoles.admin" href="adminUrl"> 
          {{patient.name}} 
      </a>
      <div ng-switch-default> default </div>
    </div> 
</div>

我希望患者的姓名会显示到normalUrl的链接,但会显示"default"。我做错了什么?

这是一个篡改代码

ngSwitchWhen指令不计算表达式(尽管我听说这可能会被添加到1.3中)。该值是作为字符串文字插入的,因此您必须这样使用它:

<a ng-switch-when="N" href="normalUrl">

这是可行的,但如果你真的需要动态地确定你的时间值,那么ngIf可能更适合你的需求:

<a ng-if="currentUser.userRole === userRoles.normal" href="normalUrl">
<a ng-if="currentUser.userRole === userRoles.admin" href="adminUrl">

相关内容

  • 没有找到相关文章

最新更新