From 275be2a0d703428bb1d8016d8f530da13d418528 Mon Sep 17 00:00:00 2001 From: imeepos <1037483576@qq.com> Date: Tue, 7 May 2019 13:42:26 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=9D=E5=AD=98=E5=B7=A5=E4=BD=9C=E8=BF=9B?= =?UTF-8?q?=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- addon/ims-demo2/admin.ts | 1 - addon/ims-demo2/inc/welcome.ts | 10 ++----- addon/ims-demo2/template/admin/ngIf/index.ts | 28 +++++++++++++++++++ .../template/admin/welcome/index.html | 7 +++++ .../nger-platform-browser/lib/application.tsx | 12 ++++---- .../nger-platform-browser/lib/bootstrap.ts | 2 +- packages/nger-platform-browser/lib/render.tsx | 2 +- 7 files changed, 46 insertions(+), 16 deletions(-) create mode 100644 addon/ims-demo2/template/admin/ngIf/index.ts diff --git a/addon/ims-demo2/admin.ts b/addon/ims-demo2/admin.ts index fcafb25..4bbe8a9 100644 --- a/addon/ims-demo2/admin.ts +++ b/addon/ims-demo2/admin.ts @@ -16,4 +16,3 @@ import browser from 'nger-platform-browser' }) export default class ImsDemo2AdminModule { } browser().bootstrapModule(ImsDemo2AdminModule) - diff --git a/addon/ims-demo2/inc/welcome.ts b/addon/ims-demo2/inc/welcome.ts index 47e6eb5..f4bef12 100644 --- a/addon/ims-demo2/inc/welcome.ts +++ b/addon/ims-demo2/inc/welcome.ts @@ -1,15 +1,9 @@ -import { Controller, Get, EntityRepository } from 'nger-core' +import { Controller, Get } from 'nger-core' import { UserEntity } from '../typeorm/entities/user.entry' @Controller({ path: '/' }) export class ImsDemo2Controller { - - @EntityRepository() - user: EntityRepository - @Get() - userInfo(user: UserEntity) { - this.user.save(user); - } + userInfo(user: UserEntity) { } } diff --git a/addon/ims-demo2/template/admin/ngIf/index.ts b/addon/ims-demo2/template/admin/ngIf/index.ts new file mode 100644 index 0000000..2a23b79 --- /dev/null +++ b/addon/ims-demo2/template/admin/ngIf/index.ts @@ -0,0 +1,28 @@ +import { Directive, Input } from 'nger-core'; + +/** + * *ngIf=" + * condiction; + * elseIf condiction2 template2; + * elseIf condiction3 template3; + * else template4; + * " + */ + +@Directive({ + selector: `[ngIf]` +}) +export class NgerNgIf { + @Input() + ngIf: boolean; + + @Input() + ngIfElseIf: boolean; + + @Input() + ngIfElse: boolean; + + @Input() + ngIfThen: boolean; + +} diff --git a/addon/ims-demo2/template/admin/welcome/index.html b/addon/ims-demo2/template/admin/welcome/index.html index 7867211..ca4b5cb 100644 --- a/addon/ims-demo2/template/admin/welcome/index.html +++ b/addon/ims-demo2/template/admin/welcome/index.html @@ -5,3 +5,10 @@ [style.backgroundColor]="bgColor"> demo + + + +
+ +
+ diff --git a/packages/nger-platform-browser/lib/application.tsx b/packages/nger-platform-browser/lib/application.tsx index ae2211e..fb6e85f 100644 --- a/packages/nger-platform-browser/lib/application.tsx +++ b/packages/nger-platform-browser/lib/application.tsx @@ -1,18 +1,19 @@ // 负责挂载到dom 如果是小程序 可设为空 import { ApplicationRef, ComponentFactory, ComponentRef, - NgerRender, ElementRef, ComponentFactoryResolver, NgerRenderFactory -} from 'nger-core' -import { deepFlattenFn } from './util' -import { Injector, Type, InjectFlags } from 'nger-di' -import { render } from 'preact' +} from 'nger-core'; + +import { Injector, Type, InjectFlags } from 'nger-di'; +import { render } from 'preact'; + export class BrowserApplicationRef extends ApplicationRef { root = document.getElementById('app') as HTMLDivElement; constructor(injector: Injector) { super(injector); } + bootstrap( componentOrFactory: ComponentFactory | Type, rootSelectorOrNode?: string | any @@ -24,6 +25,7 @@ export class BrowserApplicationRef extends ApplicationRef { return componentFactoryResolver.resolveComponentFactory(componentOrFactory).create(this.injector) } } + attachView(ref: ComponentRef, injector: Injector) { const parent = ref.injector.get(ElementRef, null, InjectFlags.SkipSelf) || new ElementRef(this.root); //这里渲染preact diff --git a/packages/nger-platform-browser/lib/bootstrap.ts b/packages/nger-platform-browser/lib/bootstrap.ts index 6f82d43..271e3dc 100644 --- a/packages/nger-platform-browser/lib/bootstrap.ts +++ b/packages/nger-platform-browser/lib/bootstrap.ts @@ -42,7 +42,7 @@ export class NgerPlatformBrowser extends NgModuleBootstrap { ref.injector.setStatic([{ provide: ElementRef, useValue: new ElementRef(root) - }]) + }]); // 启动应用 application.attachView(compRef, ref.injector) }); diff --git a/packages/nger-platform-browser/lib/render.tsx b/packages/nger-platform-browser/lib/render.tsx index 09c1df6..4c5b5e9 100644 --- a/packages/nger-platform-browser/lib/render.tsx +++ b/packages/nger-platform-browser/lib/render.tsx @@ -56,7 +56,7 @@ export class BrowserRender extends NgerRender { }) const vnode = h(tag, { ...res, - clasName: classNames(className, _class) + className: classNames(className, _class) }, ...children); console.log({ attr, vnode }); return vnode;