2017-06-05 23 views
0

私はボタンをパラメータにバインドして、モーダルフォームを開く別のコンポーネントの別の関数を呼び出す関数にバインドし、パラメータとして名前とアイコンを渡します。私はコンストラクタでそれを持って、それが好き呼び出す場合、プロトタイプとTypeScript角度2

@Component({ 
    selector: 'app-customer', 
    templateUrl: './customer.component.html', 
    providers: [Items] 
}) 

export class Costumers { 
    @Input() customerNane 

    Constructor() {} 

    openDocs() { 
     Items.prototype.OpenDocs(this.customerNane, "fa-book")`; 
    } 
} 

:しかしwont'tバインド

constructor(private items: Items) {} 

openDocs() { 
    this.items.OpenDocs(this.customerNmane, "fa-book")`; 
} 

パラメータを

はIt'sが同様に呼び出された場合は正常に動作します。

多くの説明が必要です!

アップデートは...その2つの方法wont'tバインド

<h4 ng-model="Title" ><i class="fa {{faAny}}"></i> Add some list: {{Title}}</h4> 
+0

あなたは 'Item'、ない' Items'を提供しています。しかし、あなたが言うようにこれらがコンポーネントであれば、それらをまったく提供してはいけません。提供はサービスです。 'Items'はサービスですか? – dbandstra

+0

すみません。更新質問。私は 'C#MVC Template'を使って作業していますが、今は' this.http.get( '/ Items/GetItemsType') 'を使っています。私は本当にそれをサービスとして使っていません。 – Marisco

+0

「アイテム」の外観を投稿できますか? – dbandstra

答えて

0

パラメータ

import { Component } from '@angular/core'; 
import { Http, Response, Headers, RequestOptions } from '@angular/http'; 
import { MainService } from '../services/main.service' 

var JQuery = require('jquery'); 


@Component({ 
    selector: 'app-items', 
    templateUrl: './items.component.html' 

}) 


export class Items { 
    public Title: string; 
    public faAny: string;  

    vTypeList = [ 

     { 
      vIdType: "", 
      vDsType: "" 
     } 
    ] 

    constructor(private http: Http, private mainService: MainService) { 

    this.GetItemsType(); 
    } 

    GetItemsType() { 

     this.http.get('/Items/GetItemsType') 
      .subscribe(data => { 
       var ObjTp = JSON.parse(data.json());     
       for (var i in ObjTp) { 
        if (ObjTp[i] != null) { 
         this.vTypeList.push(ObjTp[i]); 
        } 
       }    

      }); 

    } 


    OpenDocs(pTitle: string, pFaAny: string) { 

     this.Title = pTitle; 
     this.faAny = pFaAny; 
     JQuery('#docs').modal('show'); 

    } 

    private CloseDocs() { 

      JQuery('#docs').css("display", "none"); 
      JQuery('#docs').modal('hide'); 

     } 

    } 

とバインドをitems.component.ts。

矢印機能を使用します。

openDocs() { 
    this.items.OpenDocs(this.customerNmane, "fa-book"); 
} 

openDocs =() => { 
    this.items.OpenDocs(this.customerNmane, "fa-book"); 
} 

になぜ

原因矢印の機能が正しくthisを確実に変更します。

もっと

+0

成功していない、私は人生のククルか何かであると思う。 – Marisco

関連する問題