在$ state.href上打开新窗口时,如何管理依赖于角度$状态更改的元素?

时间:2016-09-26 20:05:08

标签: javascript html angularjs angular-ui-router

我有一个特定的角度视图,需要在新窗口中打开而不显示某些元素(页眉/页脚等)。

目前我通过在布局视图中查找当前状态名称并在$window.open上调用$state.href来实现此目的:

在HTML

<div id="header" ng-if="$state.current.name !='newWindowState'">
 //Header Content to hide in specific state
<div>

在控制器中

//... 
$scope.$state = $state;

$scope.OpenPage = function (params) {
  var url = $state.href('newWindowState' {param: params});
  $window.open(url, '_blank');
}
//...

虽然这个“有效”,新窗口会在应用'newWindowState'之前打开 - 导致一些愚蠢的行为,其中标题&amp;页脚显示片刻,然后在$州更改开始后消失。

在渲染任何内容之前,有什么办法可以在新窗口中应用$ state更新吗?

或者是否可以使用某种角度模式来实现相同目的? (也就是说,在新窗口中隐藏或不包括特定视图上的父元素,没有可见的延迟。)

1 个答案:

答案 0 :(得分:1)

尝试ngCloak like here 在所有初始化完成后显示您的内容