!3552 回退 3441 3478 3369 3368 3351 3286

Merge pull request !3552 from Bo Jiang/bugfix
This commit is contained in:
openharmony_ci 2024-07-01 04:15:35 +00:00 committed by Gitee
commit c23ef919ad
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
18 changed files with 44 additions and 104 deletions

View File

@ -177,7 +177,6 @@ export const FOREACH_LAZYFOREACH: Set<string> = new Set([
export const COMPONENT_CONSTRUCTOR_ID: string = 'compilerAssignedUniqueChildId';
export const COMPONENT_CONSTRUCTOR_PARENT: string = 'parent';
export const PUV2_VIEW_BASE: string = 'PUV2ViewBase';
export const COMPONENT_CONSTRUCTOR_PARAMS: string = 'params';
export const COMPONENT_PARAMS_FUNCTION: string = 'paramsGenerator_';
export const COMPONENT_PARAMS_LAMBDA_FUNCTION: string = 'paramsLambda';
@ -508,8 +507,6 @@ export const GRID_COMPONENT: string = 'Grid';
export const GRIDITEM_COMPONENT: string = 'GridItem';
export const WILLUSEPROXY: string = 'willUseProxy';
export const BASE_COMPONENT_NAME_PU: string = 'ViewPU';
export const PROTO: string = '__proto__';
export const NATIVE_VIEW_PARTIAL_UPDATE: string = 'NativeViewPartialUpdate';
export const GLOBAL_THIS: string = 'globalThis';
export const OBSERVED_PROPERTY_SIMPLE_PU: string = 'ObservedPropertySimplePU';
export const OBSERVED_PROPERTY_OBJECT_PU: string = 'ObservedPropertyObjectPU';

View File

@ -129,15 +129,11 @@ import {
ATTRIBUTE_CONTENT_MODIFIER,
ATTRIBUTE_MENUITEM_CONTENT_MODIFIER,
TITLE,
PUV2_VIEW_BASE,
PAGE_PATH,
RESOURCE_NAME_MODULE,
NAV_DESTINATION,
NAVIGATION,
CREATE_ROUTER_COMPONENT_COLLECT,
BASE_COMPONENT_NAME_PU,
PROTO,
NATIVE_VIEW_PARTIAL_UPDATE,
NAV_PATH_STACK,
IS_USER_CREATE_STACK
} from './pre_define';
@ -164,8 +160,7 @@ import {
componentCollection,
builderParamObjectCollection,
checkAllNode,
enumCollection,
getSymbolIfAliased
enumCollection
} from './validate_ui_syntax';
import {
processCustomComponent,
@ -563,8 +558,6 @@ export function transferBuilderCall(node: ts.ExpressionStatement, name: string,
if (node.expression && ts.isCallExpression(node.expression)) {
let newNode: ts.Expression = builderCallNode(node.expression);
newNode.expression.questionDotToken = node.expression.questionDotToken;
const builderParamDispose: (ts.ConditionalExpression | ts.Identifier | ts.ThisExpression)[] = [];
callBuilderConversion(builderParamDispose, node.expression);
if (node.expression.arguments && node.expression.arguments.length === 1 && ts.isObjectLiteralExpression(node.expression.arguments[0])) {
return ts.factory.createExpressionStatement(ts.factory.updateCallExpression(
node.expression,
@ -577,7 +570,7 @@ export function transferBuilderCall(node: ts.ExpressionStatement, name: string,
ts.factory.createStringLiteral(name),
traverseBuilderParams(node.expression.arguments[0], isBuilder)
]
), ...builderParamDispose]
)]
));
} else {
return ts.factory.createExpressionStatement(ts.factory.updateCallExpression(
@ -585,49 +578,14 @@ export function transferBuilderCall(node: ts.ExpressionStatement, name: string,
newNode,
undefined,
!(projectConfig.optLazyForEach && (storedFileInfo.processLazyForEach &&
storedFileInfo.lazyForEachInfo.forEachParameters || isBuilder)) ?
[
...node.expression.arguments,
...builderParamDispose
] :
[
...node.expression.arguments,
...builderParamDispose,
ts.factory.createIdentifier(MY_IDS)
]
storedFileInfo.lazyForEachInfo.forEachParameters || isBuilder)) ? node.expression.arguments :
[...node.expression.arguments, ts.factory.createNull(), ts.factory.createIdentifier(MY_IDS)]
));
}
}
return undefined;
}
function callBuilderConversion(builderParamDispose: (ts.ConditionalExpression | ts.Identifier | ts.ThisExpression)[],
node: ts.CallExpression): void {
if (storedFileInfo.processBuilder) {
builderParamDispose.push(...handleBuilderParam(node));
builderParamDispose.push(parentConditionalExpression());
} else {
builderParamDispose.push(...handleBuilderParam(node));
}
}
function handleBuilderParam(node: ts.CallExpression): (ts.Identifier | ts.ThisExpression)[] {
const callBuilderParameter: (ts.Identifier | ts.ThisExpression)[] = [];
if (globalProgram.checker && node.expression && getSymbolIfAliased(node.expression) && getSymbolIfAliased(node.expression).valueDeclaration) {
const valueDeclaration: ts.Node = getSymbolIfAliased(node.expression).valueDeclaration;
if (valueDeclaration.parameters && valueDeclaration.parameters.length) {
const paramNumberdiff: number = valueDeclaration.parameters.length - node.arguments.length;
for (let i = 0; i < paramNumberdiff; i++) {
callBuilderParameter.push(ts.factory.createIdentifier(COMPONENT_IF_UNDEFINED));
}
}
}
if (!storedFileInfo.processBuilder) {
callBuilderParameter.push(ts.factory.createThis());
}
return callBuilderParameter;
}
function builderCallNode(node: ts.CallExpression): ts.Expression {
let newNode: ts.Expression;
if (node.expression && ts.isPropertyAccessExpression(node.expression) &&
@ -1787,23 +1745,9 @@ function addForEachId(node: ts.ExpressionStatement, isGlobalBuilder: boolean = f
...forEachComponent.arguments]));
}
export function parentConditionalExpression(builderInnerComponent: boolean = false): ts.ConditionalExpression {
export function parentConditionalExpression(): ts.ConditionalExpression {
return ts.factory.createConditionalExpression(
builderInnerComponent ? ts.factory.createBinaryExpression(
ts.factory.createBinaryExpression(
ts.factory.createPropertyAccessExpression(
ts.factory.createIdentifier(BASE_COMPONENT_NAME_PU),
ts.factory.createIdentifier(PROTO)
),
ts.factory.createToken(ts.SyntaxKind.ExclamationEqualsEqualsToken),
ts.factory.createIdentifier(NATIVE_VIEW_PARTIAL_UPDATE)
),
ts.factory.createToken(ts.SyntaxKind.AmpersandAmpersandToken),
ts.factory.createBinaryExpression(
ts.factory.createIdentifier(COMPONENT_CONSTRUCTOR_PARENT),
ts.factory.createToken(ts.SyntaxKind.InstanceOfKeyword),
ts.factory.createIdentifier(PUV2_VIEW_BASE))) :
ts.factory.createIdentifier(COMPONENT_CONSTRUCTOR_PARENT),
ts.factory.createIdentifier(COMPONENT_CONSTRUCTOR_PARENT),
ts.factory.createToken(ts.SyntaxKind.QuestionToken),
ts.factory.createIdentifier(COMPONENT_CONSTRUCTOR_PARENT),
ts.factory.createToken(ts.SyntaxKind.ColonToken),

View File

@ -94,8 +94,7 @@ import { updateConstructor } from './process_component_constructor';
import {
LogType,
LogInfo,
componentInfo,
storedFileInfo
componentInfo
} from './utils';
import {
createReference,
@ -860,7 +859,7 @@ function addCustomComponentId(node: ts.NewExpression, oldNode: ts.CallExpression
ts.factory.createStringLiteral(componentInfo.id.toString()),
isBuilder ? parentConditionalExpression() : ts.factory.createThis());
} else {
argumentsArray.unshift(storedFileInfo.processBuilder ? parentConditionalExpression(true) : ts.factory.createThis());
argumentsArray.unshift(isGlobalBuilder ? parentConditionalExpression() : ts.factory.createThis());
argumentsArray.push(isCutomDialog ? ts.factory.createPrefixUnaryExpression(
ts.SyntaxKind.MinusToken,
ts.factory.createNumericLiteral('1')) : ts.factory.createIdentifier(ELMTID),

View File

@ -848,7 +848,7 @@ function parseShorthandPropertyForClass(node: ts.ShorthandPropertyAssignment, ch
}
}
export function getSymbolIfAliased(node: ts.Node): ts.Symbol {
function getSymbolIfAliased(node: ts.Node): ts.Symbol {
const symbol: ts.Symbol = globalProgram.checker.getSymbolAtLocation(node);
if (symbol && (symbol.getFlags() & ts.SymbolFlags.Alias) !== 0) {
return globalProgram.checker.getAliasedSymbol(symbol);

View File

@ -198,12 +198,12 @@ class ImportTest extends ViewPU {
Text.fontSize(50);
}, Text);
Text.pop();
ImportNestAll_1.tExtend.bind(this)(20, this);
ImportNestAll_1.tExtend.bind(this)(20);
this.observeComponentCreation2((elmtId, isInitialRender) => {
Text.create(this.testText2);
}, Text);
Text.pop();
ImportNestAll_1.tStyles.bind(this)(this);
ImportNestAll_1.tStyles.bind(this)();
this.observeComponentCreation2((elmtId, isInitialRender) => {
Button.createWithLabel(this.testText3);
}, Button);

View File

@ -283,7 +283,7 @@ class MyComponent extends ViewPU {
Flex.pop();
}
deliver$$(parent = null) {
reveive$$.bind(this)(makeBuilderParameterProxy("reveive$$", { expProp: () => (this["__hideBar"] ? this["__hideBar"] : this["hideBar"]) }), parent ? parent : this);
reveive$$.bind(this)(makeBuilderParameterProxy("reveive$$", { expProp: () => (this["__hideBar"] ? this["__hideBar"] : this["hideBar"]) }));
}
initialRender() {
this.observeComponentCreation2((elmtId, isInitialRender) => {
@ -303,7 +303,7 @@ class MyComponent extends ViewPU {
});
}, Text);
Text.pop();
specificParam.bind(this)('test1', 'test2', this);
specificParam.bind(this)('test1', 'test2');
Row.pop();
this.observeComponentCreation2((elmtId, isInitialRender) => {
Row.create();

View File

@ -168,7 +168,7 @@ class VideoPlayer extends ViewPU {
this.observeComponentCreation2((elmtId, isInitialRender) => {
Column.create();
}, Column);
this.bottomController.bind(this)(makeBuilderParameterProxy("bottomController", { playedTime: () => (this["__currentPlayedTime"] ? this["__currentPlayedTime"] : this["currentPlayedTime"]), totalTime: () => (this["__totalTime"] ? this["__totalTime"] : this["totalTime"]), playedTimeNumber: () => (this["__currentPlayedTimeNumber"] ? this["__currentPlayedTimeNumber"] : this["currentPlayedTimeNumber"]) }), this);
this.bottomController.bind(this)(makeBuilderParameterProxy("bottomController", { playedTime: () => (this["__currentPlayedTime"] ? this["__currentPlayedTime"] : this["currentPlayedTime"]), totalTime: () => (this["__totalTime"] ? this["__totalTime"] : this["totalTime"]), playedTimeNumber: () => (this["__currentPlayedTimeNumber"] ? this["__currentPlayedTimeNumber"] : this["currentPlayedTimeNumber"]) }));
Column.pop();
}
rerender() {

View File

@ -102,7 +102,7 @@ class Index extends ViewPU {
{
this.observeComponentCreation2((elmtId, isInitialRender) => {
if (isInitialRender) {
let componentCall = new AAA(ViewPU.__proto__ !== NativeViewPartialUpdate && parent instanceof PUV2ViewBase ? parent : this, { AAA: ComA }, undefined, elmtId, () => { }, { page: "@builderOrComponentAsName.ets", line: 10, col: 5 });
let componentCall = new AAA(this, { AAA: ComA }, undefined, elmtId, () => { }, { page: "@builderOrComponentAsName.ets", line: 10, col: 5 });
ViewPU.create(componentCall);
let paramsLambda = () => {
return {
@ -140,7 +140,7 @@ class Index extends ViewPU {
}
}, { name: "CCC" });
}
this.AAA.bind(this)(this);
this.AAA.bind(this)();
{
this.observeComponentCreation2((elmtId, isInitialRender) => {
if (isInitialRender) {
@ -189,7 +189,7 @@ class AAA extends ViewPU {
this.observeComponentCreation2((elmtId, isInitialRender) => {
Row.create();
}, Row);
this.AAA.bind(this)(this);
this.AAA.bind(this)();
Row.pop();
}
rerender() {
@ -221,7 +221,7 @@ class BBB extends ViewPU {
this.observeComponentCreation2((elmtId, isInitialRender) => {
Row.create();
}, Row);
this.BBB.bind(this)(this);
this.BBB.bind(this)();
Row.pop();
}
rerender() {
@ -257,7 +257,7 @@ class CCC extends ViewPU {
this.observeComponentCreation2((elmtId, isInitialRender) => {
Row.create();
}, Row);
this.CCC.bind(this)(this);
this.CCC.bind(this)();
Row.pop();
}
rerender() {

View File

@ -164,7 +164,7 @@ function testIfIdComponent(value, parent = null) {
{
(parent ? parent : this).observeComponentCreation2((elmtId, isInitialRender, value = __value__) => {
if (isInitialRender) {
let componentCall = new TestBuilderChild(ViewPU.__proto__ !== NativeViewPartialUpdate && parent instanceof PUV2ViewBase ? parent : this, {}, undefined, elmtId, () => { }, { page: "@builderTransFormFirst.ets", line: 37, col: 7 });
let componentCall = new TestBuilderChild(parent ? parent : this, {}, undefined, elmtId, () => { }, { page: "@builderTransFormFirst.ets", line: 37, col: 7 });
ViewPU.create(componentCall);
let paramsLambda = () => {
return {};

View File

@ -156,11 +156,11 @@ function testInnerComponent(value, parent = null) {
(parent ? parent : this).observeComponentCreation2((elmtId, isInitialRender, value = __value__) => {
Column.create();
}, Column);
commonBuilder.bind(this)(parent ? parent : this);
commonBuilder.bind(this)();
{
(parent ? parent : this).observeComponentCreation2((elmtId, isInitialRender, value = __value__) => {
if (isInitialRender) {
let componentCall = new TestBuilderChild(ViewPU.__proto__ !== NativeViewPartialUpdate && parent instanceof PUV2ViewBase ? parent : this, {}, undefined, elmtId, () => { }, { page: "@builderTransFormSecond.ets", line: 40, col: 5 });
let componentCall = new TestBuilderChild(parent ? parent : this, {}, undefined, elmtId, () => { }, { page: "@builderTransFormSecond.ets", line: 40, col: 5 });
ViewPU.create(componentCall);
let paramsLambda = () => {
return {};
@ -179,7 +179,7 @@ function testInnerComponent(value, parent = null) {
{
(parent ? parent : this).observeComponentCreation2((elmtId, isInitialRender, value = __value__) => {
if (isInitialRender) {
let componentCall = new TestBuilderChild(ViewPU.__proto__ !== NativeViewPartialUpdate && parent instanceof PUV2ViewBase ? parent : this, {}, undefined, elmtId, () => { }, { page: "@builderTransFormSecond.ets", line: 41, col: 5 });
let componentCall = new TestBuilderChild(parent ? parent : this, {}, undefined, elmtId, () => { }, { page: "@builderTransFormSecond.ets", line: 41, col: 5 });
ViewPU.create(componentCall);
let paramsLambda = () => {
return {};

View File

@ -160,7 +160,7 @@ function testInnerComponent(value, parent = null) {
(parent ? parent : this).observeRecycleComponentCreation("TestBuilderReusable", (elmtId, isInitialRender, recycleNode = null) => {
ViewStackProcessor.StartGetAccessRecordingFor(elmtId);
if (isInitialRender) {
let componentCall = recycleNode ? recycleNode : new TestBuilderReusable(ViewPU.__proto__ !== NativeViewPartialUpdate && parent instanceof PUV2ViewBase ? parent : this, {}, undefined, elmtId, () => { }, { page: "@builderTransFormThird.ets", line: 38, col: 5 });
let componentCall = recycleNode ? recycleNode : new TestBuilderReusable(parent ? parent : this, {}, undefined, elmtId, () => { }, { page: "@builderTransFormThird.ets", line: 38, col: 5 });
ViewPU.createRecycle(componentCall, recycleNode !== null, "TestBuilderReusable", () => {
if (recycleNode && typeof recycleNode.aboutToReuseInternal === "function") {
recycleNode.aboutToReuseInternal();
@ -195,7 +195,7 @@ function testInnerComponent(value, parent = null) {
(parent ? parent : this).observeRecycleComponentCreation("TestBuilderReusable", (elmtId, isInitialRender, recycleNode = null) => {
ViewStackProcessor.StartGetAccessRecordingFor(elmtId);
if (isInitialRender) {
let componentCall = recycleNode ? recycleNode : new TestBuilderReusable(ViewPU.__proto__ !== NativeViewPartialUpdate && parent instanceof PUV2ViewBase ? parent : this, {}, undefined, elmtId, () => { }, { page: "@builderTransFormThird.ets", line: 39, col: 5 });
let componentCall = recycleNode ? recycleNode : new TestBuilderReusable(parent ? parent : this, {}, undefined, elmtId, () => { }, { page: "@builderTransFormThird.ets", line: 39, col: 5 });
ViewPU.createRecycle(componentCall, recycleNode !== null, "TestBuilderReusable", () => {
if (recycleNode && typeof recycleNode.aboutToReuseInternal === "function") {
recycleNode.aboutToReuseInternal();

View File

@ -75,7 +75,7 @@ function comp($$, parent = null) {
{
(parent ? parent : this).observeComponentCreation2((elmtId, isInitialRender, $$ = __$$__) => {
if (isInitialRender) {
let componentCall = new Child(ViewPU.__proto__ !== NativeViewPartialUpdate && parent instanceof PUV2ViewBase ? parent : this, {}, undefined, elmtId, () => { }, { page: "@builderVisilibity$$.ets", line: 11, col: 5 });
let componentCall = new Child(parent ? parent : this, {}, undefined, elmtId, () => { }, { page: "@builderVisilibity$$.ets", line: 11, col: 5 });
ViewPU.create(componentCall);
let paramsLambda = () => {
return {};
@ -182,7 +182,7 @@ class visibility$$Demo extends ViewPU {
Column.create();
Column.height('100%');
}, Column);
comp.bind(this)(makeBuilderParameterProxy("comp", { vis: () => (this["__vis"] ? this["__vis"] : this["vis"]), data: () => (this["__data"] ? this["__data"] : this["data"]), width: () => (this["__w"] ? this["__w"] : this["w"]) }), this);
comp.bind(this)(makeBuilderParameterProxy("comp", { vis: () => (this["__vis"] ? this["__vis"] : this["vis"]), data: () => (this["__data"] ? this["__data"] : this["data"]), width: () => (this["__w"] ? this["__w"] : this["w"]) }));
Column.pop();
}
rerender() {

View File

@ -51,7 +51,7 @@ function myBuilder(parent = null) {
{
(parent ? parent : this).observeComponentCreation2((elmtId, isInitialRender) => {
if (isInitialRender) {
let componentCall = new child(ViewPU.__proto__ !== NativeViewPartialUpdate && parent instanceof PUV2ViewBase ? parent : this, {}, undefined, elmtId, () => { }, { page: "@builderWithComponent.ets", line: 4, col: 3 });
let componentCall = new child(parent ? parent : this, {}, undefined, elmtId, () => { }, { page: "@builderWithComponent.ets", line: 4, col: 3 });
ViewPU.create(componentCall);
let paramsLambda = () => {
return {};
@ -87,7 +87,7 @@ class Index extends ViewPU {
{
this.observeComponentCreation2((elmtId, isInitialRender) => {
if (isInitialRender) {
let componentCall = new child(ViewPU.__proto__ !== NativeViewPartialUpdate && parent instanceof PUV2ViewBase ? parent : this, {}, undefined, elmtId, () => { }, { page: "@builderWithComponent.ets", line: 11, col: 5 });
let componentCall = new child(this, {}, undefined, elmtId, () => { }, { page: "@builderWithComponent.ets", line: 11, col: 5 });
ViewPU.create(componentCall);
let paramsLambda = () => {
return {};
@ -104,8 +104,8 @@ class Index extends ViewPU {
this.observeComponentCreation2((elmtId, isInitialRender) => {
Row.create();
}, Row);
myBuilder.bind(this)(this);
this.Builder1.bind(this)(this);
myBuilder.bind(this)();
this.Builder1.bind(this)();
{
this.observeComponentCreation2((elmtId, isInitialRender) => {
if (isInitialRender) {

View File

@ -61,7 +61,7 @@ function ComB(param, parent = null) {
{
(parent ? parent : this).observeComponentCreation2((elmtId, isInitialRender, param = __param__) => {
if (isInitialRender) {
let componentCall = new ComA(ViewPU.__proto__ !== NativeViewPartialUpdate && parent instanceof PUV2ViewBase ? parent : this, {}, undefined, elmtId, () => { }, { page: "@builderWithForEach.ets", line: 5, col: 5 });
let componentCall = new ComA(parent ? parent : this, {}, undefined, elmtId, () => { }, { page: "@builderWithForEach.ets", line: 5, col: 5 });
ViewPU.create(componentCall);
let paramsLambda = () => {
return {};
@ -114,7 +114,7 @@ class Index extends ViewPU {
this.observeComponentCreation2((elmtId, isInitialRender) => {
Column.create();
}, Column);
ComB.bind(this)(this.arr, this);
ComB.bind(this)(this.arr);
Column.pop();
}
rerender() {

View File

@ -115,7 +115,7 @@ class TestPage extends ViewPU {
{
this.observeComponentCreation2((elmtId, isInitialRender) => {
if (isInitialRender) {
let componentCall = new TitleComp(ViewPU.__proto__ !== NativeViewPartialUpdate && parent instanceof PUV2ViewBase ? parent : this, { title: this.__value }, undefined, elmtId, () => { }, { page: "@builderWithLinkData.ets", line: 16, col: 5 });
let componentCall = new TitleComp(this, { title: this.__value }, undefined, elmtId, () => { }, { page: "@builderWithLinkData.ets", line: 16, col: 5 });
ViewPU.create(componentCall);
let paramsLambda = () => {
return {
@ -134,7 +134,7 @@ class TestPage extends ViewPU {
this.observeComponentCreation2((elmtId, isInitialRender) => {
Flex.create();
}, Flex);
this.TitleCompView.bind(this)(this);
this.TitleCompView.bind(this)();
Flex.pop();
}
rerender() {

View File

@ -126,7 +126,7 @@ class FeedComponent extends ViewPU {
this.aboutToBeDeletedInternal();
}
initialRender() {
this.createView.bind(this)(this);
this.createView.bind(this)();
}
rerender() {
this.updateDirtyElements();

View File

@ -150,8 +150,8 @@ class CustomContainer extends ViewPU {
Text.create(this.header);
}, Text);
Text.pop();
this.content.bind(this)(this);
this.callContent.bind(this)(this);
this.content.bind(this)();
this.callContent.bind(this)();
this.observeComponentCreation2((elmtId, isInitialRender) => {
Text.create(this.footer);
}, Text);
@ -197,7 +197,7 @@ class CustomContainer2 extends ViewPU {
Text.create(this.header);
}, Text);
Text.pop();
this.content.bind(this)(this);
this.content.bind(this)();
Column.pop();
}
rerender() {
@ -294,7 +294,7 @@ class CustomContainerUser extends ViewPU {
this.text = "changeHeader";
});
}, Column);
specificWithParam.bind(this)("111", "22", this);
specificWithParam.bind(this)("111", "22");
Column.pop();
}
}, undefined, elmtId, () => { }, { page: "@builderParam.ets", line: 56, col: 7 });
@ -309,7 +309,7 @@ class CustomContainerUser extends ViewPU {
this.text = "changeHeader";
});
}, Column);
specificWithParam.bind(this)("111", "22", this);
specificWithParam.bind(this)("111", "22");
Column.pop();
}
};
@ -365,7 +365,7 @@ class CustomContainerUser extends ViewPU {
this.text = "changeHeader";
});
}, Column);
this.callSpecificParam.bind(this)("111", '222', this);
this.callSpecificParam.bind(this)("111", '222');
Column.pop();
}
}, undefined, elmtId, () => { }, { page: "@builderParam.ets", line: 74, col: 9 });
@ -380,7 +380,7 @@ class CustomContainerUser extends ViewPU {
this.text = "changeHeader";
});
}, Column);
this.callSpecificParam.bind(this)("111", '222', this);
this.callSpecificParam.bind(this)("111", '222');
Column.pop();
}
};

View File

@ -77,7 +77,7 @@ class ChildComponent extends ViewPU {
this.observeComponentCreation2((elmtId, isInitialRender) => {
Column.create();
}, Column);
this.trailing?.bind(this)?.(this);
this.trailing?.bind(this)?.();
Column.pop();
}
rerender() {