繁体   English   中英

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

[英]Deploying angular apps without displaying bindings on the view

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

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

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

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

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

我最近开始研究Angular,因此由于我有jQuery背景,因此我尝试以正确的方式进行操作。

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

据我所知,您不能将指令隐藏在html代码中,但是老实说,我认为这并不是真正的问题,在前端开发中,您的代码始终是可观察的。

简短的答案:不可能隐藏基础模型,因为Javascript是在客户端解释的,因此始终可以查看基础模型。

但是,您也可以使用Firebug或任何其他调试工具查看HTML的解释版本

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

如果您想“隐藏”您的角度代码,那么您几乎可以做的就是用uglify之类的方法来将其最小化。 这将使您的角度代码难以使用,最终用户可以下载的更小。 uglify提供了附加的“ mangle”功能,但是我的理解是,由于angular在依赖注入方面的某些特殊性,很难或不可能使它与angular一起使用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM