Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.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 AngularJS不在ng click和ng show中解释XSL_Javascript_Xml_Angularjs_Xslt - Fatal编程技术网

Javascript AngularJS不在ng click和ng show中解释XSL

Javascript AngularJS不在ng click和ng show中解释XSL,javascript,xml,angularjs,xslt,Javascript,Xml,Angularjs,Xslt,我有一个结合了XSL、XML和AngularJS的web应用程序。有一个树结构,当单击一个叶时,它应该在div标记中显示一个字段,其中包含与特定叶相关的内容。下面是代码 树: <li>Root <xsl:for-each select="//method[method_phase='Root']"> <ul> <li><a ng-click="method.toShow='<xs

我有一个结合了XSL、XML和AngularJS的web应用程序。有一个树结构,当单击一个叶时,它应该在div标记中显示一个字段,其中包含与特定叶相关的内容。下面是代码

树:

 <li>Root   
    <xsl:for-each select="//method[method_phase='Root']">
         <ul>
            <li><a ng-click="method.toShow='<xsl:value-of select="method_name"/>Field'"><xsl:value-of select="method_name"/></a></li>
         </ul>
    </xsl:for-each>
</li>
  • 根目录
  • 以及单击叶时应显示的字段

     <div ng-show="method.toShow=='<xsl:value-of select="method_name"/>Field'">
    
        div with content related to the leaf
    
     </div>
    
    
    包含与叶相关内容的div
    
    这样做的问题是,在ng click and ng show中,它不会被解释为的xsl:value。错误如下:

    The value of attribute "ng-click" associated with an element type "a" must not contain the '<' character
    

    与元素类型“a”关联的属性“ng click”的值不得包含“当前尝试设置ng click属性的语法无效

    <a ng-click="method.toShow='<xsl:value-of select="method_name"/>Field'">
       <xsl:value-of select="method_name"/>
    </a>
    
    第二种方法是使用“属性值模板”

    
    

    这里的大括号
    {}
    表示要计算的表达式,而不是字面上的输出。这可能是最好的方法,因为它不太冗长,更接近HTML的实际输出方式。

    哪个版本?1.2附带了
    $sce
    ,我相信这意味着安全的内容逃逸。
    <a>
       <xsl:attribute name="ng-click">method.toShow='<xsl:value-of select="method_name"/>Field'</xsl:attribute>
       <xsl:value-of select="method_name"/>
    </a>
    
    <a ng-click="method.toShow='{method_name}Field'">
       <xsl:value-of select="method_name"/>
    </a>