在服务器端渲染初始Angular ng-view并从那里获取它

mik*_*des 5 server-side angularjs angular-routing angularjs-routing ngroute

我想避免显示初始JavaScript渲染视图的延迟.我希望用户立即看到内容并让Angular从那里获取内容.当Angular ngRoute可能会发生眨眼时,我不想只是替换这个ng-view.一旦用户点击另一条路线,我只希望它替换它.

让我们假设这是基本路线'/'.这已经存在于我的HTML中,从服务器呈现.

<div ng-view>
<h1>Welcome. I am the first view.</h1>
<p>Please do not replace me until a user has triggered another route.</p>
</div>
Run Code Online (Sandbox Code Playgroud)

我知道一个常见的方法是在一个服务器端代码ng-view和Angular加载它只是替换它.这不是我想要做的.我希望Angular加载并理解这实际上已经是我的第一个视图了.

关于如何做到这一点的任何创意?我查看了源代码 - 没有运气.甚至可以让Angular只在不同的情况下替换HTML.

编辑:我不打算在服务器端渲染模板以用作Angular模板.我希望index.html在服务器端渲染我的整个,并且这已经包含用户需要查看此初始基本路由的所有内容.

Bil*_*lal -2

ngCloak
Run Code Online (Sandbox Code Playgroud)

ngCloak 指令用于防止在加载应用程序时浏览器以原始(未编译)形式短暂显示 Angular html 模板。使用该指令可以避免 html 模板显示引起的不良闪烁效果。

https://docs.angularjs.org/api/ng/directive/ngCloak

<body ng-cloak>
Run Code Online (Sandbox Code Playgroud)

您应该阅读这篇文章http://sc5.io/posts/how-to-implement-loaders-for-an-angularjs-app