2016-05-10 7 views
1

権限が正しい場合は、表示するdivがあります。 * ngIfステートメントはブール値を返すメソッドでサービスを呼び出しています。ブール値がtrueの場合、divが表示されます。なぜ私のAngular2 * ngは、この関数ではブール値を返すのですか?

ここでdivのためのコードです:

import {Injectable} from 'angular2/core'; 

@Injectable() 

export class ShowMeService { 
    showme(permission: integer) { 
     let bool = false; 
     if (permission === 5) { 
      bool = true; 
      return bool; 
     } 
    } 
} 

しかし、どんなにそれが常に表示されないものを、それがある場合でも:

import { ShowMeService } from '../services/showme.service'; 

let styles = require('./admin.css'); 

@Component({ 
selector: 'admin', 
    directives: [ProtectedDirective], 
    template: ` 
    <div style="margin-top: 40px" protected> 
     <div class="home centered"> 
     <div class="logout"><a class="btn btn-primary btn-sm" 
     role= "button"(click) = "logout()" > Logout </a></div> 
     <a href = "/home"><< Launchpad</a> 
     <h2>User Admin</h2 > 
     A permissioned div appears below if the user has permission to view: 
     <hr> 
     <div *ngIf="checkPermissions(5)"> 
      <p> 
      This is an example of a page that would only be visible to roles with proper permissions. 
      </p> 
      <p> 
      The link to this page is not visible to certain roles. 
      </p> 
     </div> 
     </div> 
    </div> 
    `, 
    styles: [styles], 
    providers: [ShowMeService] 
}) 


export class Admin { 
    constructor(private _showMeService: ShowMeService) {} 

    checkPermissions(permission: integer) { 
    this._showMeService.showme(permission); 
    } 
} 

そして、ここでは、と呼ばれるブール値を返すサービスです明らかに真実を返す。

答えて

3

私はそれが欠けているreturn

checkPermissions(permission: integer) { 
    return this._showMeService.showme(permission); 
    } 
+0

のおかげだと思います!それはまさに正しいことです。 –

+2

これがあなたの質問に答えた場合は、それを受け入れて質問に答えてください(アップ/ダウンボタンの下にあるチェックマークを使用) –

関連する問題