背景

前面我们提到Block区块需要在不同的场景下进行输出和渲染,因此Block Class的开发也需要考虑兼容这些场景的差异

CabloyJS针对不同的场景提供了一个兼容层,并作为统一的宿主对象传递给Block Class的构造函数,从而简化Block Class的开发

宿主对象:host

  1. 1{
  2. 2 $$: [Object],
  3. 3 $container: [Object],
  4. 4 $content: [Object],
  5. 5 $host: {
  6. 6 atom: [Object],
  7. 7 atomId: [Number],
  8. 8 mode: [String],
  9. 9 },
  10. 10 $user: {
  11. 11 agent: [Object],
  12. 12 op: [Object],
  13. 13 provider: [Object],,
  14. 14 },
  15. 15 $util: {
  16. 16 escapeHtml: [Function],
  17. 17 escapeURL: [Function],
  18. 18 navigate: [Function],
  19. 19 performAction: [Function],
  20. 20 text: [Function],
  21. 21 url: [Function],
  22. 22 urlFront: [Function],
  23. 23 }
  24. 24}
名称 类型 说明
$$ Object 后台页面场景使用Framework自带的Dom7CMS静态页面场景使用JQuery
$container Object 区块的容器Dom元素
$content Object 区块的配置参数
$host Object 宿主参数
$user Object 当前用户
$util Object 工具对象
  • $host
名称 类型 说明
atom Object 原子数据
atomId Number 原子数据的atomId
mode String 场景模式: (empty)/edit/view/view-cms
  • $util
名称 类型 说明
escapeHtml Function 对Html字符串进行安全过滤处理
escapeURL Function 对URL字符串进行安全转义处理
navigate Function 导航至新页面
performAction Function 调用后端API接口
text Function 文本国际化
url Function 构造绝对链接(后端)
urlFront Function 构造绝对链接(前端)