0

我想在我的 xPages 应用程序中使用 AngularJS http://www.angularjs.org但我发现了一个奇怪的问题,即 Angular 正在使用的语法与 xPages 冲突。Angular 添加了特殊的标签属性,这些属性是 Angular 引擎/编译器的命令。通常 Angular 使用带有 'ng' 命名空间的属性。例如

<div ng:app="" ng:controller="">
... content here ...
</div>

当我将这些属性放入 xPages 时,编辑器将其作为错误引发,因为没有定义这样的“ng”命名空间。当我在 xPage 标记中定义这个命名空间时,DDE 中没有错误,但是 Domino 从属性名称中删除了这个“ng”前缀,所以事情不起作用,我在浏览器中得到这个输出:

<div app="" controller="">
... content here ...
</div>

有没有办法,如何解决这个问题?

4

2 回答 2

4

xpages 源代码生成器正在删除前缀,如果你有 8.5.3,你可以这样做。

<xp:panel tagName="div">
    <xp:this.attrs>
        <xp:attr name="ng:app" value="test"></xp:attr>
        <xp:attr name="ng:controller" value="test"></xp:attr>
    </xp:this.attrs>
</xp:panel>

如果您尚未使用 8.5.3,则必须执行以下操作:

<xp:text escape="false">
    <xp:this.value><![CDATA[#{javascript:return "<div ng:controller='test' ng:app='test' >"; }]]></xp:this.value>
</xp:text>
    <xp:text escape="false">
    <xp:this.value><![CDATA[#{javascript:return "</div>"; }]]></xp:this.value>
</xp:text>
于 2012-02-24T16:15:21.403 回答
0

来自xpage圣经:

“要使用新的 ui 组件,您需要扩展当前的 xpages 控制标签集”。为此,请在 xsp.config 文件中指定一个新标签名称作为组件定义的一部分”

<faces-config>
 <faces-config-extension>
   <namespace-uri>...</namespace-uri>
   <default-prefix>...</default-prefix>
 </faces-config-extension>
</faces-config>

我从来没有添加过这样的库,但也许这会有所帮助

于 2012-02-24T09:06:52.943 回答