足力健前端,vue版本

uni.compiler.js 767B

1234567891011121314151617181920212223242526272829303132333435
  1. module.exports = {
  2. directive: 's-',
  3. createScopedSlots (slotName, props, state) {
  4. const node = {
  5. type: 'slot',
  6. attr: {
  7. name: slotName
  8. },
  9. children: []
  10. }
  11. Object.keys(props).forEach(name => {
  12. node.attr['var-' + name] = props[name].replace('{{', '').replace('}}', '')
  13. })
  14. return node
  15. },
  16. resolveScopedSlots (slotName, {
  17. paramExprNode,
  18. returnExprNodes,
  19. traverseExpr,
  20. normalizeChildren
  21. }, state) {
  22. const node = {
  23. type: 'view',
  24. attr: {
  25. slot: slotName
  26. },
  27. children: normalizeChildren(traverseExpr(returnExprNodes, state))
  28. }
  29. if (paramExprNode && paramExprNode.type === 'Identifier') {
  30. node.scoped = paramExprNode.name
  31. }
  32. return node
  33. }
  34. }