【发布时间】:2017-12-30 11:42:21
【问题描述】:
我正在尝试将一个变量从cmsfn 传递给 angularjs。有人已经做到了吗?
<div ng-controller="someController">
[#assign currentNode = cmsfn.asJCRNode(content)]
[#assign rootPageNode = cmsfn.root(currentNode, "mgnl:page")!]
<div style="display: none">{{myVar='${rootPageNode}'}}</div>
</div>
在上面的代码中,当我尝试在角度中使用myVar 时,它的值为空。
【问题讨论】:
-
要让这段代码工作,它需要通过渲染引擎。如果上面的 sn-p 在
.ftl文件中,它应该可以正常工作,但如果它直接在作为资源一部分的.js文件中,则不会。你的文件在哪里,它是什么,资源还是模板? -
它是一个模板,文件位于 pages 文件夹中,在其他来源中,我正在尝试获取页面的名称以通过页面的名称访问页面的属性。如果您知道其他方法,请随时说些什么
-
那么它应该可以正常工作了。顺便说一句,您可以跳过第一行。
root()方法接受ContentMap或Node作为参数。对您的问题的一种可能解释是,您传入的页面已经是网站的根目录(即没有任何父级的顶级页面),在这种情况下,方法将返回 null。 -
rootPageNode 有页面的名称,但我不知道如何将值发送到 angular,它似乎未定义,我如何访问 myVar? $scope.myVar?我应该在全球范围内声明它吗?
标签: angularjs freemarker magnolia