在这个htl对应的js文件中怎么获取到这个值
时间: 2024-10-18 20:19:49 浏览: 11
java8看不到源码-htl-examples:AEMHTL示例
在AEM的HTL模板中使用的Sling Model其实是在背后由JavaScript引擎处理的。如果你想在相应的JavaScript文件(`.js`或`.jsx`)中获取HTL模板中注入的模型值,可以按照以下步骤操作:
1. **注册模型工厂**:
如果你之前在控制器(Controller.js)或其他服务中已经定义了一个模型工厂(Model Factory),那么需要在这个文件里注册该模型。
```javascript
cq cqCore = require('core');
cq.core.components.registerModels({
'path/to/model': function(context) {
return new MyDataModel(context);
}
});
```
2. **在JS文件中获取值**:
在你的JavaScript函数或组件内部,你可以使用`cq`对象的`getRegisteredModels()`方法找到并加载模型,然后访问属性。
```javascript
var models = cq.getRegisteredModels();
var myDataModel = models['path/to/model'];
if (myDataModel) {
var myValue = myDataModel.get('myValue'); // 注意这里的get方法取决于你的Model是否实现了SlingModelService接口
console.log(myValue); // 打印myValue的值
}
```
阅读全文