部署角度应用程序而不在视图上显示绑定

时间:2015-06-03 08:16:17

标签: javascript jquery angularjs

我想问一下是否有办法部署角度应用程序,即(模块,控制器,工厂)和绑定,以便当用户检查它或在浏览器上查看页面源时,他们会显示html而不是例如{{persons.name}},{{persons.email}}之类的绑定。

即使我们使用ng-bind或ng-bind-template,我们也会在代码检查或浏览器的页面源视图中显示我们的模型对象。

可以理解的是,它自己的框架是基于Java脚本开始的,并且页面上需要脚本,但我的问题是,有没有办法隐藏控制器中的底层模型架构或为某些应用程序编写的工厂?

我们可以使用一些技术来构建我们的脚本并在运行时执行它们,而我们的应用程序初始化而不是使代码(在我们的脚本中)和绑定(在我们的html中)可以观察到用户吗?

我已经做了一些搜索,但还没有找到合适的解决方案,大多数关于Angular的文章和参考文献都指向了它的核心概念。

我最近开始研究Angular,所以我尝试以正确的方式做事,因为我有jQuery背景。

3 个答案:

答案 0 :(得分:0)

要在页面加载期间隐藏{{persons.name}}之类的绑定,只需将ng-cloak类添加到您的容器中(不要忘记将角度css文件添加到您的页面),Angular会在所有内容时显示它已加载。

据我所知,你不能在你的HTML代码中隐藏你的指令,但说实话,我不认为它真的是一个问题,在前端开发中你的代码是无论如何总是可观察到的。

答案 1 :(得分:0)

简答:不 它不可能隐藏底层模型,因为Javascript在客户端被解释,它总是可以查看底层模型。

但是,您也可以使用firebug或任何其他调试工具

查看HTML的解释版本

答案 2 :(得分:0)

听起来你想要知道你是否可以预渲染角度。虽然有一些技术可以做到这一点,但它是为了搜索引擎优化,而不是为了最终用户使用。这是因为AngularJS在客户端运行。如果你必须预先渲染它,你完全失去了拥有它的目的(老实说,你应该使用其他一些服务器端渲染技术)。

如果你想隐藏'你的角度代码,你可以做的就是用uglify之类的东西来缩小它。这将使您的角度代码难以使用,并且对于最终用户来说下载更小。还有一个额外的' mangle' uglify提供的功能,但我的理解是,由于一些关于依赖注入的角度特性,很难或不可能使它与角度一起工作。