核心思路

  1. 通过props接受machine
  2. 遍历 machine中 的 __nodes, 即处理后的frames
  3. 传入的内容 有 machine state状态 所有的图层
  1. <block
  2. :machine="machine"
  3. :state="LOADING"
  4. :layerVos="item.stateMapVos"
  5. ></block>
  6. stateMaps: {
  7. LOADING: {
  8. view: LayerLoad,
  9. data: {
  10. message: "layer loading",
  11. list: async (ctx: any) => {
  12. return await ctx.model("feed").get("list");
  13. },
  14. },
  15. path: "0/root/LOADING"
  16. },
  17. READY: {
  18. view: LayerOne,
  19. data: {
  20. message: "layer one",
  21. },
  22. path: "0/root/READY"
  23. }
  24. }
  25. <block
  26. :machine="machine"
  27. :state="DEFAULT"
  28. :layerVos="item.stateMapVos"
  29. ></block>
  30. stateMapVos: {
  31. READY: {
  32. view: LayerTwo,
  33. data: {
  34. message: "layer two",
  35. },
  36. path: "1/foot/READY"
  37. }
  38. }

注意:引入Default没有对应的layer,所以页面一刷新的时候,只会渲染一个loading效果