如果有警报,请隐藏DOM内容

时间:2016-07-05 16:19:12

标签: javascript angularjs dom

假设我们有 - "2016-07-05T09:15:00" ,当我们在相应的页面上时,会在此处进行检查,如果此检查失败,则会弹出一条警告消息并将您重定向到{{ 1}}。

现在,这可以正常工作,除了它在点击URL时将DOM内容加载到/test?id=123页面。无论如何我可以完全隐藏DOM内容,如果检查失败并将我重定向到索引页面?这基本上意味着如果弹出警报消息,则用户应该无法看到HTML页面包含的内容,应立即重定向。

1 个答案:

答案 0 :(得分:0)

我会使用ng-if来包装敏感的DOM内容,如下所示:

<html>
    <head>
    ...
    </head>
    <body>
        <header>
        ...
        </header>
        <dialog ng-if="!checkPassed">This is your alert.</dialog>
        <main ng-if="checkPassed" ng-cloak>
           This is your protected content.
        </main>
        <footer>
        ...
        </footer>
    </body>
</html>

ng-cloak会阻止您的内容在页面加载时显示。 如果条件(在本例中为ng-if)解析为$scope.checkPassed,则false会从页面中删除您的内容。

在Angular控制器中,您需要将$scope.checkPassed的值设置为truefalse,具体取决于您的检查是成功还是失败。

这比ng-show好,因为这意味着有人无法代码检查您的网站并查看内容。