2016-07-15 14 views
0

これに続いてdocが表示されますが、画像はUIに表示されません。私はチェックボックスを使用する必要があり、それは画像の助けを借りて行う必要があることをお読みください。だから私のチェックボックスのイメージは表示されません。どこが間違っていますか?画像を読み込むことができません角2

import {Component, EventEmitter} from '@angular/core'; 
import {NS_ROUTER_DIRECTIVES} from 'nativescript-angular/router'; 
import {APP_ROUTER_PROVIDERS} from "../app.routes" 
import ImageModule = require("ui/image"); 
var ImageSourceModule = require("image-source"); 

var image = new ImageModule.Image(); 
image.imageSource = ImageSourceModule.fromResource("checkbox_checked"); 
//image.imageSource = ImageSourceModule.fromResource("checkbox_unchecked"); 

@Component({ 
selector: "checkbox", 
properties: ['checked : checked'], 
events: ['tap'], 
template: ` 
<StackLayout backgroundColor="#b3d9ff" width="300" height="550"> 

    <Label style="font-size : 20px" text="Choose contacts to sync"></Label> 
    <Image 
     [src]="checked ? 'res://checkbox_checked' : 'res://checkbox_unchecked'" 
     class="checkbox" 
     (tap)="onTap()" 
     dock="left"> 
    </Image> 
</StackLayout> ` 
}) 

export class SyncComponent{ 
public tap: EventEmitter<boolean> = new EventEmitter<boolean>(); 
public checked: boolean = false; 

constructor() { } 

public onTap(): void { 
    this.tap.next(this.checked); 
} 
} 

here is the screenshot of the UI

+0

'特性:'と 'イベント:' 'の入力であるべきである' '出力すべき:'。 'properties'と' events'は長い間使われていません。 –

+0

ありがとうございました。私は全く新しい角度になっています。 私はそれらを交換しましたが、変更はありません。私はまだ欠けているものはありますか? – kenkulan

+0

私はこれがあなたの問題を解決するとは思わなかった。私はNativeScriptを知らない。 'res:// ...' URLは私には奇妙に見えますが、NS固有のものかもしれません –

答えて

0

私はあなたがドキュメントのNativeScriptのコア部分を読んでいる、しかしNativeScript Angular2プロジェクトの詳細を説明してきた角部があることに気づきました。あなたは画像hereについてもっと読むことができます。あなたの質問に関しては、あなたのNS Angularプロジェクトで、この<Image src="{{checked ? 'res://icon' : ''}}"></Image>の種類のシンタックスを使用してシナリオの画像srcプロパティをバインドすることができます。

app.component.html

<StackLayout> 
    <Label text="Tap the button" class="title"></Label> 
    <Image src="{{checked ? 'res://icon' : ''}}"></Image> 

    <Button text="TAP" (tap)="onTap()"></Button> 

    <Label [text]="message" class="message" textWrap="true"></Label> 
</StackLayout> 

app.component.ts

import {Component} from "@angular/core"; 

@Component({ 
    selector: "my-app", 
    templateUrl: "app.component.html", 
}) 
export class AppComponent { 
    public counter: number = 16; 
    public checked:boolean=false; 

    public get message(): string { 
     if (this.counter > 0) { 
      return this.counter + " taps left"; 
     } else { 
      return "Hoorraaay! \nYou are ready to start building!"; 
     } 
    } 

    public onTap() { 
     this.counter--; 
    } 
} 
関連する問題