2015-11-11 10 views
6

私はAngularJS、ng-tableとcoffeescriptを一緒に使用しており、coffeescript内に複数のテンプレートフィルタを作成して、それを私のangularjsテンプレートに渡したいと考えています。ng-table coffeescriptを使用した複数のテンプレートフィルタ

私は 'name'と 'surname'の2つのフィルタが欲しい名前& surname combined columnsを持っています。

これまでのところ、私はそういう仕組みになっています。

 <td data-title="'Customer'" sortable="'fullname'" 
     filter="{'name_cont': 'text', 'surname_cont':'text'}" > 

しかし、私はそう

$scope.nameFilterDef = { 
    name: { 
     id: "text", 
     placeholder: "Name" 
    }, 
    surname: { 
     id: "text", 
     placeholder: "Surname" 
    } 
    } 

ように私のAngularJSコントローラにこのフィルタを定義し、そのような、そのフィルタを使用して、私のテンプレートをクリーンアップしたいと思います。

 <td data-title="'Customer'" sortable="'fullname'" 
     filter="nameFilterDef" > 

フィルタボックスは表示されませんが、このようなフィルタを呼び出すとします。

更新

私はページ上で、私は私のフィルタハッシュが渡されたばかり。

+0

一見、** filter **属性は角度表現として解析されていないようです。 'filter =" {{nameFilterDef}} "'として試しましたか? – mz3

+0

はい、私はそれを試みました、私はエラーを取得します。エラー:[$ parse:syntax]構文エラー:トークン 'nameFilterDef'は予期せぬもので、式[{{nameFilterDef}}]の[nameFilterDef}}]から3列目に[:] – map7

+0

テンプレートで 'nameFilterDef'を繰り返すことでコードをテストすることができます。それが空になった場合は、 '$ scope'テンプレートが期待どおりでないことを意味します。 plunkerやjsFiddleを作成できますか? –

答えて

4

このHTMLマークアップは、あなたのために働くかどうかを確認することができます{{nameFilterDef}}置く場合...

<td data-title="'Customer'" sortable="'fullname'" 
    filter="{'name_cont': 'text', 'surname_cont':'text'}" > 

は、このコードは、同様に動作するはずです:

//use this 
$scope.nameFilterDef = { 
    'name_cont': 'text', 
    'surname_cont':'text' 
    } 
//instead of this: 
$scope.nameFilterDef = { 
name: { 
    id: "text", 
    placeholder: "Name" 
}, 
surname: { 
    id: "text", 
    placeholder: "Surname" 
} 
} 

- ここ

<td data-title="'Customer'" sortable="'fullname'" 
filter="nameFilterDef" > 

はcodepenで作業例です。 Passing filter from the controller as an object

また、あなたがplunkerで動作するコードを提供する場合、codepenまたはjsFiddle、それは超役立つだろう。

希望すると、これが役立ちます。

+0

私はそこに示唆したことを試してみましたが、うまくいきませんでした。それは私の考えの中で深いものでなければならないと思う。多分、レールアセットのパイプラインが途中で邪魔になっているか、coffeescriptかAngularJSのバージョンを使用しています – map7

+0

私はこの機能を許可していないng-tableのバージョンを実行していることを知りました。だから私はそれをアップグレードする途中です。 – map7

+0

私は今、いくつかのバグに合格し、ng-tableの0.5.5にアップグレードしました。あなたの答えはうまく機能します。ありがとうございます。 – map7

関連する問題