Nativescript 사용자 지정 구성 요소

오마르 에삼

이 가이드를 따라 네이티브 스크립트 사용자 정의 구성 요소 http://moduscreate.com/custom-components-in-nativescript/를 만들었지 만 작동하지 않습니다.

main 이라는 폴더 가있는 폴더 페이지있습니다. main 에는 몇 개의 파일이 있습니다.

main.html

<StackLayout 
xmlns="http://schemas.nativescript.org/tns.xsd"
xmlns:hello="pages/helllo"
loaded="pageLoaded" >
  <hello:hello/>
</StackLayout>

main.component.ts

import { Component, ElementRef, OnInit, ViewChild} from "@angular/core";
import { Page } from "ui/page";
import colorModule = require("color");
var Color = colorModule.Color;
@Component({
selector: "my-app",
templateUrl: "pages/main/main.html",
styleUrls: ["pages/main/main-common.css"]
})    
export class MainComponent implements OnInit{
      constructor(private page: Page) {
  }    

  ngOnInit() {
    this.page.actionBarHidden = true;
 }  
} 

또한 main-common.css가 있지만 표시하는 데 중요하지 않습니다. 그런 다음 페이지 안에 hello 라는 다른 폴더가 있고 그 안에 파일 하나만 있습니다.

hello.html

<StackLayout width="100%" height="100%" backgroundColorr="red">
  <Label class ="h1" text="h1 hello world" color="black"></Label>
  <Label class ="h1" text="h1 hello world" color="black"></Label>
  <Label class ="h1" text="h1 hello world" color="black"></Label>
  <Label class ="h1" text="h1 hello world" color="black"></Label>
  <Label class ="h1" text="h1 hello world" color="black"></Label>
  <Label class ="h1" text="h1 hello world" color="black"></Label>
  <Label class ="h1" text="h1 hello world" color="black"></Label>
  <Label class ="h1" text="h1 hello world" color="black"></Label>
  <Label class ="h1" text="h1 hello world" color="black"></Label>
  <Label class ="h1" text="h1 hello world" color="black"></Label>
  <Label class ="h1" text="h1 hello world" color="black"></Label>
</StackLayout>

그러나 hello 구성 요소는 내가 무엇을하든 표시되지 않습니다. 빈 화면 만 나타납니다. 또한 hello.html 파일 에서이 줄 xmlns:hello="pages/helllo"이것으로 변경하려고 시도했지만 오류가 발생하지 않았습니다. 누군가 내가 뭘 잘못하고 있는지 지적 할 수 있습니까?xmlns:hello="../helllo"

닉 일리 예프

NativeScript Core에서는 유효하지만 NativeScript + Angular-2 에서는 작동하지 않습니다 .

대신 필요한 것은 Angular-2 방식으로 사용자 지정 구성 요소를 만드는 것입니다. 데모를 위해 사용자 지정 항목 구성 요소가 생성 된 이 샘플을 참조 할 수 있습니다 . 예제는 문서 에도 설명되어 있으며이 구성 요소에 대해 @Input 지시문을 사용하여 데이터를 바인딩하는 방법도 보여줍니다.

과정을 안내해 드리겠습니다.

1.) 사용자 지정 구성 요소 만들기

using-item-template.component.ts

import { Component, ChangeDetectionStrategy, Input }  from "@angular/core";

@Component({
    selector: 'item-component',
    styleUrls: ["listview/using-item-template/using-item-template.component.css"],
    template: `
        <StackLayout *ngFor="let element of data.list" class="model">
            <Label [text]="element.model" class="name"></Label>
            <Label [text]="element.speed +'mph'" class="speed"></Label>
        </StackLayout>
    `
})
export class ItemComponent {
    @Input() data: any; // this way we "pass data" to our item-component
}

@Component({
    selector: 'using-item-template',
    styleUrls: ["listview/using-item-template/using-item-template.component.css"],
    templateUrl: "listview/using-item-template/using-item-template.component.html",
    changeDetection: ChangeDetectionStrategy.OnPush
})
export class UsingItemTemplateComponent {
    public manufacturers: Array<any>;

    constructor() {
        var bugatti = [{ "model": "Bugatti Chiron", "speed": "261" }, { "model": "Bugatti Veyron Super Sport", "speed": "268" }];
        var mclaren = [{ "model": "McLaren P1", "speed": "211" }, { "model": "McLaren F1", "speed": "242" }];
        var jaguar = [{ "model": "Jaguar XJ220", "speed": 217 }];
        this.manufacturers = [{ "list": bugatti }, { "list": mclaren }, { "list": jaguar }];
    }
}

using-item-template.component.html

<StackLayout exampleTitle toggleNavButton>
    <GridLayout rows="50, *" class="example-container">
        <Label text="Top Cars" row="0" class="title" textWrap="true" horizontalAlignment="center"></Label>
        <ListView [items]="manufacturers" row="1">
            <template let-item="item">
                <item-component [data]="item" ></item-component>
            </template>
        </ListView>
    </GridLayout>
</StackLayout>

마지막으로 중요한 부분은 NgModule에서 ItemComponent를 선언하는 것을 잊지 않는 것입니다!

main.ts

import { ItemComponent } from "./listview/using-item-template/using-item-template.component";

@NgModule({
    declarations: [
        ItemComponent, // declare the item component
        // the other components in your app
    ],
    bootstrap: [AppComponent],
    imports: [
        .....
    ],
})
class AppComponentModule { }

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

vuejs 구성 요소에 사용자 지정 속성 추가

분류에서Dev

사용자 지정 웹 구성 요소 용 Visual Studio Intellisense

분류에서Dev

JSF 모범 사례 : 사용자 지정 구성 요소 및 JavaScript

분류에서Dev

사용자 프로필 용 Vuetify 사용자 지정 구성 요소

분류에서Dev

Material-UI : withStyles로 Box 구성 요소 사용자 지정

분류에서Dev

Wicket에서 ModalDialog 구성 요소 사용자 지정

분류에서Dev

UIInput 및 UICommand 인 사용자 지정 구성 요소

분류에서Dev

Delphi 사용자 지정 TPanel 구성 요소

분류에서Dev

Android-사용자 지정 복합 구성 요소 만들기

분류에서Dev

AlloyUI : 페이지 매김 구성 요소 사용자 정의

분류에서Dev

AlloyUI : 페이지 매김 구성 요소 사용자 정의

분류에서Dev

SSIS 사용자 지정 원본 구성 요소

분류에서Dev

SSIS 사용자 지정 원본 구성 요소

분류에서Dev

Vue 사용자 지정 필터링 입력 구성 요소

분류에서Dev

JavaFx FXML에 사용자 지정 구성 요소 포함

분류에서Dev

사용자 정의 QML 요소-항목 또는 구성 요소

분류에서Dev

vee-validate ValidationObserver 구성 요소의 Vue 사용자 지정 요소 오류

분류에서Dev

React JS : 사용자 지정 경로 구성 요소에 구성 요소가 표시되지 않습니까?

분류에서Dev

내 사용자 정의 입력 구성 요소에 [matAutocomplete] 사용

분류에서Dev

사용자 지정 쿼리와 함께 Datagrid 구성 요소 사용-react-admin

분류에서Dev

반응 구성 요소 내에서 사용자 지정 개체 사용

분류에서Dev

구성 요소 컬렉션으로 사용자 지정 섹션 구현 C #

분류에서Dev

joomla의 사용자 지정 비 mvc 구성 요소에 대한 URL에서 '구성 요소'단어 제거

분류에서Dev

AngularDart : 사용자 지정 구성 요소 템플릿에 하위 구성 요소를 포함하는 방법

분류에서Dev

AngularDart : 사용자 지정 구성 요소 템플릿에 하위 구성 요소를 포함하는 방법

분류에서Dev

특정 사용자 지정 Vue 구성 요소에 대한 방법

분류에서Dev

ZK 사용자 정의 목록 상자 구성 요소

분류에서Dev

구성 요소에서 트리거되지 않는 사용자 지정 후크

분류에서Dev

사용자 지정 셀 팩토리로 사용자 지정 구성 요소를 가져올 수 없습니다.

Related 관련 기사

  1. 1

    vuejs 구성 요소에 사용자 지정 속성 추가

  2. 2

    사용자 지정 웹 구성 요소 용 Visual Studio Intellisense

  3. 3

    JSF 모범 사례 : 사용자 지정 구성 요소 및 JavaScript

  4. 4

    사용자 프로필 용 Vuetify 사용자 지정 구성 요소

  5. 5

    Material-UI : withStyles로 Box 구성 요소 사용자 지정

  6. 6

    Wicket에서 ModalDialog 구성 요소 사용자 지정

  7. 7

    UIInput 및 UICommand 인 사용자 지정 구성 요소

  8. 8

    Delphi 사용자 지정 TPanel 구성 요소

  9. 9

    Android-사용자 지정 복합 구성 요소 만들기

  10. 10

    AlloyUI : 페이지 매김 구성 요소 사용자 정의

  11. 11

    AlloyUI : 페이지 매김 구성 요소 사용자 정의

  12. 12

    SSIS 사용자 지정 원본 구성 요소

  13. 13

    SSIS 사용자 지정 원본 구성 요소

  14. 14

    Vue 사용자 지정 필터링 입력 구성 요소

  15. 15

    JavaFx FXML에 사용자 지정 구성 요소 포함

  16. 16

    사용자 정의 QML 요소-항목 또는 구성 요소

  17. 17

    vee-validate ValidationObserver 구성 요소의 Vue 사용자 지정 요소 오류

  18. 18

    React JS : 사용자 지정 경로 구성 요소에 구성 요소가 표시되지 않습니까?

  19. 19

    내 사용자 정의 입력 구성 요소에 [matAutocomplete] 사용

  20. 20

    사용자 지정 쿼리와 함께 Datagrid 구성 요소 사용-react-admin

  21. 21

    반응 구성 요소 내에서 사용자 지정 개체 사용

  22. 22

    구성 요소 컬렉션으로 사용자 지정 섹션 구현 C #

  23. 23

    joomla의 사용자 지정 비 mvc 구성 요소에 대한 URL에서 '구성 요소'단어 제거

  24. 24

    AngularDart : 사용자 지정 구성 요소 템플릿에 하위 구성 요소를 포함하는 방법

  25. 25

    AngularDart : 사용자 지정 구성 요소 템플릿에 하위 구성 요소를 포함하는 방법

  26. 26

    특정 사용자 지정 Vue 구성 요소에 대한 방법

  27. 27

    ZK 사용자 정의 목록 상자 구성 요소

  28. 28

    구성 요소에서 트리거되지 않는 사용자 지정 후크

  29. 29

    사용자 지정 셀 팩토리로 사용자 지정 구성 요소를 가져올 수 없습니다.

뜨겁다태그

보관