diff --git a/packages/uni-template-compiler/__tests__/compiler-extra.spec.js b/packages/uni-template-compiler/__tests__/compiler-extra.spec.js
index 4dcb81d258f4e7bd46794c2f57a59f7669151013..132c8fd062651d690d0749f431b6cb147e606e49 100644
--- a/packages/uni-template-compiler/__tests__/compiler-extra.spec.js
+++ b/packages/uni-template-compiler/__tests__/compiler-extra.spec.js
@@ -545,6 +545,11 @@ describe('mp:compiler-extra', () => {
'4',
'4'
)
+ assertCodegen(
+ '',
+ '',
+ 'with(this){var l0=__map(array,function(item,index){var $orig=__get_orig(item);var m0=test(index);return{$orig:$orig,m0:m0}});$mp.data=Object.assign({},{$root:{l0:l0}})}'
+ )
})
it('generate object property on custom component', () => {
diff --git a/packages/uni-template-compiler/lib/script/traverse/data/model.js b/packages/uni-template-compiler/lib/script/traverse/data/model.js
index d5172ed41e240cb660e2c6b28f57f24174efaa6d..37097c68bdd5207ee1fb4ad1882a4af7a9e5e85a 100644
--- a/packages/uni-template-compiler/lib/script/traverse/data/model.js
+++ b/packages/uni-template-compiler/lib/script/traverse/data/model.js
@@ -10,7 +10,9 @@ module.exports = function processRef (paths, path, state) {
const callbackProperty = modelPath.node.value.properties.find(property => {
return property.key.name === 'callback'
})
-
+ const valueProperty = modelPath.node.value.properties.find(
+ property => property.key.name === 'value'
+ )
const exprProperty = modelPath.node.value.properties.find(
property => property.key.name === 'expression'
)
@@ -63,9 +65,9 @@ module.exports = function processRef (paths, path, state) {
return [ // attrs:{value:value}
t.objectProperty(
t.stringLiteral(process.env.UNI_USING_VUE3 ? 'modelValue' : 'value'),
- t.identifier(prop)
+ valueProperty.value
)
]
}
return []
-}
+}