diff --git a/packages/core/package-lock.json b/packages/core/package-lock.json index 6e0c57d36e..fa97762a4c 100644 --- a/packages/core/package-lock.json +++ b/packages/core/package-lock.json @@ -1,6 +1,6 @@ { "name": "@ionic/core", - "version": "0.0.2-27", + "version": "0.0.2-28", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/packages/core/package.json b/packages/core/package.json index 43c0923ba1..ab3066246e 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@ionic/core", - "version": "0.0.2-27", + "version": "0.0.2-28", "description": "Base components for Ionic", "main": "dist/collection/index.js", "types": "dist/collection/index.d.ts", diff --git a/packages/core/src/components/nav-controller/dom-framework-delegate.tsx b/packages/core/src/components/nav-controller/dom-framework-delegate.tsx index 093f2c830f..caacc32b9a 100644 --- a/packages/core/src/components/nav-controller/dom-framework-delegate.tsx +++ b/packages/core/src/components/nav-controller/dom-framework-delegate.tsx @@ -2,10 +2,12 @@ import { FrameworkDelegate, FrameworkMountingData, } from '../../index'; import { isString } from '../../utils/helpers'; export class DomFrameworkDelegate implements FrameworkDelegate { - attachViewToDom(parentElement: HTMLElement, tagOrElement: string | HTMLElement, classesToAdd: string[] = []): Promise { + attachViewToDom(parentElement: HTMLElement, tagOrElement: string | HTMLElement, propsOrDataObj: any = {}, classesToAdd: string[] = []): Promise { return new Promise((resolve) => { const usersElement = (isString(tagOrElement) ? document.createElement(tagOrElement) : tagOrElement) as HTMLElement; + + Object.assign(usersElement, propsOrDataObj); if (classesToAdd.length) { for (const clazz of classesToAdd) { usersElement.classList.add(clazz); diff --git a/packages/core/src/navigation/nav-controller-functions.ts b/packages/core/src/navigation/nav-controller-functions.ts index e0be8e7468..a3f7cbcb1d 100644 --- a/packages/core/src/navigation/nav-controller-functions.ts +++ b/packages/core/src/navigation/nav-controller-functions.ts @@ -446,7 +446,7 @@ export function fireViewWillLifecycles(enteringView: ViewController, leavingView export function attachViewToDom(nav: Nav, enteringView: ViewController, delegate: FrameworkDelegate) { if (enteringView && enteringView.state === STATE_NEW) { - return delegate.attachViewToDom(nav.element, enteringView.component, ['ion-page']).then((mountingData) => { + return delegate.attachViewToDom(nav.element, enteringView.component, enteringView.data, ['ion-page']).then((mountingData) => { Object.assign(enteringView, mountingData); enteringView.state = STATE_ATTACHED; }); diff --git a/packages/core/src/navigation/nav-interfaces.ts b/packages/core/src/navigation/nav-interfaces.ts index 46a2cf4118..310aa8c119 100644 --- a/packages/core/src/navigation/nav-interfaces.ts +++ b/packages/core/src/navigation/nav-interfaces.ts @@ -7,7 +7,7 @@ import { export interface FrameworkDelegate { - attachViewToDom(elementOrContainerToMountTo: any, elementOrComponentToMount: any, classesToAdd?: string[]): Promise; + attachViewToDom(elementOrContainerToMountTo: any, elementOrComponentToMount: any, propsOrDataObj?: any, classesToAdd?: string[]): Promise; removeViewFromDom(elementOrContainerToUnmountFrom: any, elementOrComponentToUnmount: any): Promise; }