2016-09-04 12 views
2

私はいくつかのViewModelで使いたい機能を持っています。それは私がカスタムフィルタ用のparamとして使用フィルタ機能です。このような関数を格納する「aurelic」方法ですaureliaでグローバル関数を整理する

<tr repeat.for="server of servers | filter:searchTerm:filterFunc"> 

何?私はjsとaureliaの両方にとても新しいので、わかりやすい "非拡張"の例は私に非常に感謝してくれます:-)

EDIT:私のValueConverterクラスこれはそれと一緒にのみ使用されるためです。

export class filterValueConverter { 
    myCustomFunc(stuf,stuf){} 
    toView(array, searchTerm){return this.myCustomFunc}} 

答えて

4

これを行うには、おそらくアレイ用の値コンバータを作成する必要があります。ビュー(秒)で

HTML:

<div repeat.for="item of [1, null, 2] | notNullFilter">${item}</div> 

フィルター(のsrc \リソース\価値コンバータ\ notNullFilterValueConverter.js):

export class notNullFilterValueConverter { 
    toView(array) { 
    return array.filter(item => item !== null); 
    } 
} 

そして、あなたのメインのグローバルリソースとして登録します。 jsのセットアップ:

import {Aurelia} from 'aurelia-framework'; 

export function configure(aurelia: Aurelia) { 
    aurelia.use 
    .standardConfiguration() 
    .developmentLogging() 
    .globalResources([ 
     "./src/resources/value-converters/notNullFilterValueConverter" 
    ]); 

    aurelia.start().then(() => aurelia.setRoot()); 
} 

あなたはあなたに与えた配列に任意の数のバリューコンバータを挿入できますグローバルリソース機能。これは厄介/白濁いくつかの段階での場合は出力

<div>1</div> 
<div>2</div> 

は、あなたが機能にそれを移動することができます

export function configure(aurelia: Aurelia) { 
     aurelia.use 
      .standardConfiguration() 
      .developmentLogging() 
      .feature('resources'); 

     aurelia.start().then(function() { return aurelia.setRoot('views/app'); }); 
} 

は、内部のファイルを「リソース」という名前のフォルダを追加します。 index.js

export function configure(config) { 
    config.globalResources('./notNullFilterValueConverter', './welcomeValueConverter'); 
} 

「機能」は、私が暮らす唯一の差異を持つプラグインと同じですソースツリー。それは複数の機能を作ることを可能にするので、たとえば、会社の配列フィルターとカスタム会社要素というものがあります。

+0

ありがとうございました。だから、「リソース」と「機能」は私が目にするべきものです。乾杯! – Trondh

関連する問題