Skip to content

Commit 49ab620

Browse files
committed
fix:修复React Native环境下属性值中插值表达式带空格的问题
1 parent 3647853 commit 49ab620

File tree

1 file changed

+12
-1
lines changed
  • packages/webpack-plugin/lib/template-compiler

1 file changed

+12
-1
lines changed

packages/webpack-plugin/lib/template-compiler/compiler.js

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1936,7 +1936,18 @@ function processAttrs (el, options) {
19361936
el.attrsList.forEach((attr) => {
19371937
const isTemplateData = el.tag === 'template' && attr.name === 'data'
19381938
const needWrap = isTemplateData && mode !== 'swan'
1939-
const value = needWrap ? `{${attr.value}}` : attr.value
1939+
let value = needWrap ? `{${attr.value}}` : attr.value
1940+
1941+
// 修复React Native环境下属性值中插值表达式带空格的问题
1942+
if (isReact(mode) && typeof value === 'string') {
1943+
// 检查是否为带空格的插值表达式
1944+
const trimmedValue = value.trim()
1945+
if (trimmedValue.startsWith('{{') && trimmedValue.endsWith('}}')) {
1946+
// 如果是纯插值表达式但带有前后空格,则使用去除空格后的值进行解析
1947+
value = trimmedValue
1948+
}
1949+
}
1950+
19401951
const parsed = parseMustacheWithContext(value)
19411952
if (parsed.hasBinding) {
19421953
// 该属性判断用于提供给运行时对于计算属性作为props传递时提出警告

0 commit comments

Comments
 (0)