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

ng-table multiple template filters using coffeescript

我正在同时使用 AngularJS、ng-table 和 coffeescript,我想在 coffeescript 中创建一个多模板过滤器并将其传递到我的 angularjs 模板中。

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

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

      <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}} 放在页面上,我可以看到我的过滤器哈希被传入。

如果此 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 中提供工作代码,那将非常有帮助。

希望对您有所帮助。