我一起使用AngularJS,ng-table和coffeescript,并希望在coffeescript中创建一个多模板过滤器并将其传递给我的angularjs模板。
我有一个名字&姓氏合并栏我希望两个过滤器名称'和姓氏'。
到目前为止,我有这样的工作;
<td data-title="'Customer'" sortable="'fullname'"
filter="{'name_cont': 'text', 'surname_cont':'text'}" >
但是我想在我的AngularJS控制器中定义这个过滤器,如此
$scope.nameFilterDef = {
name: {
id: "text",
placeholder: "Name"
},
surname: {
id: "text",
placeholder: "Surname"
}
}
使用该过滤器清理我的模板;
<td data-title="'Customer'" sortable="'fullname'"
filter="nameFilterDef" >
当我像这样调用过滤器时,虽然没有出现过滤器框。
更新
如果我在页面上放置{{nameFilterDef}},我可以看到我的过滤器哈希被传入。
答案 0 :(得分:4)
如果这个html标记对你有用......
<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中提供工作代码,那将非常有帮助。
希望这会对你有所帮助。