首页 > 解决方案 > Angular 上下文中的 AngularJS 代码:ng-if 在 DIV 上,意外结果

问题描述

@角/升级/静态

我正在尝试使用来自“@angular/upgrade/static”的 UpgradeModule 将 AngularJS 控制器升级到 Angular 上下文

当我在 span 或 div 上将 ng-show 更改为 ng-if 时,封闭的内容未按预期显示使用 stackbliz 代码更容易看到问题,

https://stackblitz.com/edit/angular-xcqzsy

Angular CLI:7.0.6 节点:9.5.0 操作系统:win32 x64 Angular:7.0.4 npm:5.6.0

我正在尝试在 Angular 应用程序中使用 AngularJS 组件,并且在此标记中的问题是,不显示带有 ng-repeat 的包含 span 块,如果我将父 div 上的 ng-if 更改为 ng-show 那么内部标记按预期显示

<div ng-if="vm.showMe == 'SHOW_ME'">
  <span ng-repeat="col in vm.colCollection">
    <h4 title="{{col.appName}}">Testing: {{col.appName}}</h4>
  </span>
</div>

标签: angularjsangularangular-upgrade

解决方案


这将与 ng-show 相同。

<span ng-if="vm.allowed" ng-repeat="col in vm.colCollection">
    <h4 title="{{col.appName}}">Testing: {{col.appName}}</h4>
</span>

推荐阅读