ast

ast 编译相关

Methods

(static) generateElementUniqueFlag(dom, options)

为微信小程序 dom 节点生成唯一标志,存储在特定 data-[name] 下。
节点唯一标志 = 父节点唯一标志 + 在父节点下的索引 + 标签名 + 节点本身id
根节点唯一标志 = 节点唯一标志 + 页面path
wx:for 节点唯一标志 = 节点唯一标志 + index

Source:
Parameters:
Name Type Description
dom Object

htmlParser2 解析后得到的 dom ast 树

options Object

配置项

Name Type Attributes Default Description
indexPrefix string <optional>
index

wx:for-index 值得前缀,会主动给 wx:for 节点设置 wx:for-index

flagKey string <optional>
uflag

data-[flagKey] 存储唯一 id

filePath string <optional>
''

文件路径,多个文件是,需要加上文件路径才能保证每个节点 id 唯一

Example
generateElementUniqueFlag(dom, {
        indexPrefix: 'index',
        flagKey: 'uid',
        filePath: 'C:\\Users\xx\Desktop\project\src\util\page.wxml'
    })

(static) getExpression(content, startFlag, endFlag) → {Array}

解析获得特定字符之间的表达式,例如 "{{}}", "{}"

Source:
Parameters:
Name Type Description
content String
startFlag String
endFlag String
Returns:
Type:
Array

表达式数组

Example
getExpression("{{a+1}}{{b+1}}", "{{", "}}")
// ['a+1','b+1']