在应用程序代码上运行Google Closure编译器后,更新AngularJS模板HTML

Update AngularJS template HTML after running Google Closure Compiler on app code

本文关键字:更新 AngularJS HTML 模板 编译器 Closure 代码 应用程序 运行 Google      更新时间:2023-09-26

我的应用程序将变量分配给控制器中的$scope,如$scope.myVariable = 123;。在我运行闭包编译器后,该代码将变成$scope.a = 123;$scope.b = 123;,依此类推…

我的html模板有类似<p>{{ myVariable }}</p>的东西,我需要将模板更新为<p>{{ a }}</p>,以匹配重命名属性myVariable的新名称。

我知道我可以使用CC /** @expose */注释,或者我可以做一些类似$scope['myVariable'] = 123的事情,这样CC就不会重命名那个特定的属性。但是,我希望继续重命名变量属性。

我看到了两个选项:

  1. 编写一个使用CC中的_props_map.out的脚本,并编写一个sear替换HTML中字符串的脚本。

  2. 用javascript编写模板,这样CC也会处理我的模板,然后运行吐出模板html的模板函数。

保持重命名变量和更新模板html的最佳方式是什么?

我认为最好的方法不是重命名变量。我不确定你到底想实现什么,但一般来说,更改模板中的变量是没有意义的。

您可以从一开始就在模板中包含<p>{{ a }}</p>{{ a }}不会打印任何内容,直到a被定义并具有一些值。

另一个选项是创建$scope.variables对象,该对象将包含您的新变量,如

{ a: 123, b: 123 }

并且您可以在<p>{{ variables.a }}</p>的模板中使用它们。

这些选项对你有用吗?