ng-table使用coffeescript的多个模板过滤器

map*_*ap7 6 javascript coffeescript angularjs ngtable

我一起使用AngularJS,ng-table和coffeescript,并希望在coffeescript中创建一个多模板过滤器并将其传递给我的angularjs模板.

我有一个名字和姓氏组合列,我想要两个过滤器'name'和'surname'.

到目前为止,我有这样的工作;

      <td data-title="'Customer'" sortable="'fullname'"
        filter="{'name_cont': 'text', 'surname_cont':'text'}" >
Run Code Online (Sandbox Code Playgroud)

但是我想在我的AngularJS控制器中定义这个过滤器

   $scope.nameFilterDef = {
     name: {
       id: "text",
       placeholder: "Name"
     },
     surname: {
       id: "text",
       placeholder: "Surname"
     }
   }
Run Code Online (Sandbox Code Playgroud)

并使用该过滤器清理我的模板;

      <td data-title="'Customer'" sortable="'fullname'"
        filter="nameFilterDef" >
Run Code Online (Sandbox Code Playgroud)

当我像这样调用过滤器时,虽然没有出现过滤器框.

更新

如果我在页面上放置{{nameFilterDef}},我可以看到我的过滤器哈希传入.

JoM*_*dez 4

如果这个 html 标记适合你......

<td data-title="'Customer'" sortable="'fullname'"
    filter="{'name_cont': 'text', 'surname_cont':'text'}" >
Run Code Online (Sandbox Code Playgroud)

那么这段代码应该也可以工作:

 //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"
 }
}
Run Code Online (Sandbox Code Playgroud)

-

 <td data-title="'Customer'" sortable="'fullname'"
 filter="nameFilterDef" >
Run Code Online (Sandbox Code Playgroud)

这是 codepen 中的一个工作示例: 将控制器作为对象传递过滤器

另外,如果您在 plunker、codepen 或 jsFiddle 中提供工作代码,那将会非常有帮助。

希望这对您有帮助。