Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在应用程序代码上运行Google Closure编译器后更新AngularJS模板HTML_Javascript_Node.js_Angularjs_Templates_Google Closure Compiler - Fatal编程技术网

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

Javascript 在应用程序代码上运行Google Closure编译器后更新AngularJS模板HTML,javascript,node.js,angularjs,templates,google-closure-compiler,Javascript,Node.js,Angularjs,Templates,Google Closure Compiler,我的应用程序将变量分配给控制器中的$scope,如$scope.myVariable=123运行闭包编译器后,该代码将转换为$scope.a=123和$scope.b=123等等 我的html模板有类似于{{myVariable}}我需要将模板更新为{{a}}以匹配重命名属性myVariable的新名称 我知道我可以使用CC/**@expose*/注释,或者我可以执行类似于$scope['myVariable']=123的操作,以便CC不会重命名该特定属性。但是,我希望继续重命名变量属性 我看到

我的应用程序将变量分配给控制器中的$scope,如
$scope.myVariable=123运行闭包编译器后,该代码将转换为
$scope.a=123
$scope.b=123等等

我的html模板有类似于
{{myVariable}}

我需要将模板更新为
{{a}}

以匹配重命名属性myVariable的新名称

我知道我可以使用CC
/**@expose*/
注释,或者我可以执行类似于
$scope['myVariable']=123
的操作,以便CC不会重命名该特定属性。但是,我希望继续重命名变量属性

我看到了两个选项:

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

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


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

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

    您可以从一开始就在模板中包含
    {{a}

    {{a}
    在定义
    a
    并具有某些值之前,不会打印任何内容

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

    {
    a:123,
    b:123
    }

    您可以在模板中将它们与
    {{{variables.a}

    一起使用


    这些选项中有哪一个适合你吗?

    我很好奇你是否能解决你的问题。我在模板中使用的所有控制器属性上都使用了
    /**@export*/
    ,这并不理想。