mirror of https://github.com/vuejs/core.git
wip: save
This commit is contained in:
parent
783d60a4d0
commit
b6a78a4d87
|
@ -5,14 +5,14 @@ exports[`compiler: v-memo transform > element v-for key expression prefixing + v
|
|||
|
||||
export function render(_ctx, _cache) {
|
||||
return (_openBlock(), _createElementBlock("div", null, [
|
||||
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.tableData, (data, _key, ___, _cached) => {
|
||||
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.tableData, (data, __, _i, _cached) => {
|
||||
const _memo = (_ctx.getLetter(data))
|
||||
if (_cached && _cached.el && _cached.key === _ctx.getId(data) && _isMemoSame(_cached, _memo)) return _cached
|
||||
const _item = (_openBlock(), _createElementBlock("span", {
|
||||
key: _ctx.getId(data)
|
||||
}))
|
||||
_item.memo = _memo
|
||||
_item.cacheIndex = [0, _key]
|
||||
_item.cacheIndex = [0, _i]
|
||||
return _item
|
||||
}, _cache, 0), 128 /* KEYED_FRAGMENT */))
|
||||
]))
|
||||
|
@ -54,12 +54,12 @@ exports[`compiler: v-memo transform > on template v-for 1`] = `
|
|||
|
||||
export function render(_ctx, _cache) {
|
||||
return (_openBlock(), _createElementBlock("div", null, [
|
||||
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.list, ({ x, y }, _key, ___, _cached) => {
|
||||
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.list, ({ x, y }, __, _i, _cached) => {
|
||||
const _memo = ([x, y === _ctx.z])
|
||||
if (_cached && _cached.el && _cached.key === x && _isMemoSame(_cached, _memo)) return _cached
|
||||
const _item = (_openBlock(), _createElementBlock("span", { key: x }, "foobar"))
|
||||
_item.memo = _memo
|
||||
_item.cacheIndex = [0, _key]
|
||||
_item.cacheIndex = [0, _i]
|
||||
return _item
|
||||
}, _cache, 0), 128 /* KEYED_FRAGMENT */))
|
||||
]))
|
||||
|
@ -71,14 +71,14 @@ exports[`compiler: v-memo transform > on v-for 1`] = `
|
|||
|
||||
export function render(_ctx, _cache) {
|
||||
return (_openBlock(), _createElementBlock("div", null, [
|
||||
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.list, ({ x, y }, _key, ___, _cached) => {
|
||||
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.list, ({ x, y }, __, _i, _cached) => {
|
||||
const _memo = ([x, y === _ctx.z])
|
||||
if (_cached && _cached.el && _cached.key === x && _isMemoSame(_cached, _memo)) return _cached
|
||||
const _item = (_openBlock(), _createElementBlock("div", { key: x }, [
|
||||
_createElementVNode("span", null, "foobar")
|
||||
]))
|
||||
_item.memo = _memo
|
||||
_item.cacheIndex = [0, _key]
|
||||
_item.cacheIndex = [0, _i]
|
||||
return _item
|
||||
}, _cache, 0), 128 /* KEYED_FRAGMENT */))
|
||||
]))
|
||||
|
|
|
@ -218,7 +218,7 @@ export const transformFor: NodeTransform = createStructuralDirectiveTransform(
|
|||
}
|
||||
|
||||
if (memo) {
|
||||
forNode.parseResult.key = createSimpleExpression('_key')
|
||||
forNode.parseResult.index = createSimpleExpression('_i')
|
||||
const loop = createFunctionExpression(
|
||||
createForLoopParams(forNode.parseResult, [
|
||||
createSimpleExpression(`_cached`),
|
||||
|
@ -236,7 +236,7 @@ export const transformFor: NodeTransform = createStructuralDirectiveTransform(
|
|||
createCompoundExpression([`const _item = `, childBlock as any]),
|
||||
createSimpleExpression(`_item.memo = _memo`),
|
||||
createSimpleExpression(
|
||||
`_item.cacheIndex = [${context.cached.length}, _key]`,
|
||||
`_item.cacheIndex = [${context.cached.length}, _i]`,
|
||||
),
|
||||
createSimpleExpression(`return _item`),
|
||||
])
|
||||
|
|
|
@ -78,7 +78,7 @@ export function renderList(
|
|||
ret[i] = renderItem(
|
||||
needsWrap ? toReactive(source[i]) : source[i],
|
||||
i,
|
||||
undefined,
|
||||
i,
|
||||
cached && cached[i],
|
||||
)
|
||||
}
|
||||
|
@ -88,12 +88,12 @@ export function renderList(
|
|||
}
|
||||
ret = new Array(source)
|
||||
for (let i = 0; i < source; i++) {
|
||||
ret[i] = renderItem(i + 1, i, undefined, cached && cached[i])
|
||||
ret[i] = renderItem(i + 1, i, i, cached && cached[i])
|
||||
}
|
||||
} else if (isObject(source)) {
|
||||
if (source[Symbol.iterator as any]) {
|
||||
ret = Array.from(source as Iterable<any>, (item, i) =>
|
||||
renderItem(item, i, undefined, cached && cached[i]),
|
||||
renderItem(item, i, i, cached && cached[i]),
|
||||
)
|
||||
} else {
|
||||
const keys = Object.keys(source)
|
||||
|
|
Loading…
Reference in New Issue