将 cmsfn 值传递给范围变量 angularjs
pass cmsfn value to a scope variable angularjs
我正在尝试将一个变量从 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>
在上面的代码中,当我尝试在angular中使用myVar
时,它的值为空。
所以首先,将您的 FM 代码缩减为单行:
[#assign rootPage = cmsfn.root(content, "mgnl:page")!]
这样,您得到的仍然是 ContentMap
而不是 Node
,这在模板中更容易操作。
其次,获取页面名称(如果这是您想要的):
${rootPage.@name}
您可以在 this page
的底部找到内容映射的其他特殊属性列表
现在,最后关于 angular 部分,模板中只有 angular 表达式,"print statement" 如果需要,它不会分配变量。您需要在 someController
控制器本身中使用 $scope.myVar=...
进行分配。这意味着.js文件本身需要是freemarker模板。
我正在尝试将一个变量从 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>
在上面的代码中,当我尝试在angular中使用myVar
时,它的值为空。
所以首先,将您的 FM 代码缩减为单行:
[#assign rootPage = cmsfn.root(content, "mgnl:page")!]
这样,您得到的仍然是 ContentMap
而不是 Node
,这在模板中更容易操作。
其次,获取页面名称(如果这是您想要的):
${rootPage.@name}
您可以在 this page
的底部找到内容映射的其他特殊属性列表现在,最后关于 angular 部分,模板中只有 angular 表达式,"print statement" 如果需要,它不会分配变量。您需要在 someController
控制器本身中使用 $scope.myVar=...
进行分配。这意味着.js文件本身需要是freemarker模板。