Angular ng-table 动态标头在内部不起作用

2023-12-11

我正在将 ng-table 与动态列一起使用,使用创建者的示例,位于http://bazalt-cms.com/ng-table/example/20

它工作得很好,直到我尝试用 transclude 包裹指令,女巫导致标题消失,如上所示http://plnkr.co/edit/mjYVEf.

索引.html

<!DOCTYPE html>
<html>
  <head>
    <script data-require="angular.js@*" data-semver="1.2.0-rc3-nonmin" src="http://code.angularjs.org/1.2.0-rc.3/angular.js"></script>
    <script data-require="ng-table@*" data-semver="0.3.1" src="http://bazalt-cms.com/assets/ng-table/0.3.1/ng-table.js"></script>
    <script data-require="[email protected]" data-semver="0.1.0" src="http://bazalt-cms.com/assets/ng-table-export/0.1.0/ng-table-export.js"></script>

    <link data-require="ng-table@*" data-semver="0.3.0" rel="stylesheet" href="http://bazalt-cms.com/assets/ng-table/0.3.0/ng-table.css" />
    <link data-require="bootstrap-css@*" data-semver="3.0.0" rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" />

    <link rel="stylesheet" href="style.css" />
    <script src="script.js"></script>
  </head>
  <body ng-app="main" ng-controller="DemoCtrl">
    <div ng-controller="DemoCtrl">
    <transclude-example>
      Columns:
      <label class="checkbox" ng-repeat="column in columns">
          <input type="checkbox" ng-model="column.visible" /> {{column.title}}
      </label>

      <table ng-table="tableParams" show-filter="true" class="table">
          <thead>
          <tr>
              <th ng-repeat="column in columns" ng-show="column.visible"
                  class="text-center sortable" ng-class="{
                      'sort-asc': tableParams.isSortBy(column.field, 'asc'),
                      'sort-desc': tableParams.isSortBy(column.field, 'desc')
                    }"
                  ng-click="tableParams.sorting(column.field, tableParams.isSortBy(column.field, 'asc') ? 'desc' : 'asc')">
                  {{column.title}}
              </th>
              <!--<th>Columns:{{columns.length}}</th>-->
          </tr>
          </thead>
          <tbody>
          <tr ng-repeat="user in $data">
              <td ng-repeat="column in columns" ng-show="column.visible" sortable="column.field">
                  {{user[column.field]}}
              </td>
          </tr>
          </tbody>
      </table>
    </transclude-example>
  </body>
</html>

脚本.js

var app = angular.module('main', ['ngTable']).
        controller('DemoCtrl', function($scope, $filter, ngTableParams) {
            var data = [{name: "Moroni", age: 50},
                {name: "Tiancum", age: 43},
                {name: "Jacob", age: 27},
                {name: "Nephi", age: 29},
                {name: "Enos", age: 34},
                {name: "Tiancum", age: 43},
                {name: "Jacob", age: 27},
                {name: "Nephi", age: 29},
                {name: "Enos", age: 34},
                {name: "Tiancum", age: 43},
                {name: "Jacob", age: 27},
                {name: "Nephi", age: 29},
                {name: "Enos", age: 34},
                {name: "Tiancum", age: 43},
                {name: "Jacob", age: 27},
                {name: "Nephi", age: 29},
                {name: "Enos", age: 34}];
            $scope.columns = [
                { title: 'Name', field: 'name', visible: true, filter: { 'name': 'text' } },
                { title: 'Age', field: 'age', visible: true }
            ];
            $scope.tableParams = new ngTableParams({
                page: 1,            // show first page
                count: 10,          // count per page
                filter: {
                    name: 'M'       // initial filter
                }
            }, {
                total: data.length, // length of data
                getData: function($defer, params) {
                    // use build-in angular filter
                    var orderedData = params.sorting() ?
                            $filter('orderBy')(data, params.orderBy()) :
                            data;

                    $defer.resolve(orderedData.slice((params.page() - 1) * params.count(), params.page() * params.count()));
                }
            });

            var originalData = [{name: "Moroni", age: 50},
                {name: "Tiancum", age: 43},
                {name: "Jacob", age: 27},
                {name: "Nephi", age: 29},
                {name: "Enos", age: 34},
                {name: "Tiancum", age: 43},
                {name: "Jacob", age: 27},
                {name: "Nephi", age: 29},
                {name: "Enos", age: 34},
                {name: "Tiancum", age: 43},
                {name: "Jacob", age: 27},
                {name: "Nephi", age: 29},
                {name: "Enos", age: 34},
                {name: "Tiancum", age: 43},
                {name: "Jacob", age: 27},
                {name: "Nephi", age: 29},
                {name: "Enos", age: 34}];
            $scope.originalColumns = [
                { title: 'Name', field: 'name', visible: true, filter: { 'name': 'text' } },
                { title: 'Age', field: 'age', visible: true }
            ];
            $scope.originalTableParams = new ngTableParams({
                page: 1,            // show first page
                count: 10,          // count per page
                filter: {
                    name: 'M'       // initial filter
                }
            }, {
                total: originalData.length, // length of data
                getData: function($defer, params) {
                    // use build-in angular filter
                    var orderedData = params.sorting() ?
                            $filter('orderBy')(originalData, params.orderBy()) :
                            originalData;

                    $defer.resolve(orderedData.slice((params.page() - 1) * params.count(), params.page() * params.count()));
                }
            });
        });

        app.directive('transcludeExample', function() {
          return {
              restrict: 'EA',
              template: '<div ><div><strong>Transcluded Example</strong></div><div ng-transclude></div></div>',
              replace: true,
              transclude: true
          };
});

有人遇到过同样的问题吗?


定义标题模板,并设置模板标题ng-表的属性。

你可以看到代码http://plnkr.co/edit/EXVkjabwfjCreNZAY1c2?p=preview

定义模板标题

<script id="sample_ng_header" type="text/ng-template">
  <tr>
      <th ng-repeat="column in columns" ng-show="column.visible"
          class="text-center sortable" ng-class="{
              'sort-asc': tableParams.isSortBy(column.field, 'asc'),
              'sort-desc': tableParams.isSortBy(column.field, 'desc')
            }"
          ng-click="tableParams.sorting(column.field, tableParams.isSortBy(column.field, 'asc') ? 'desc' : 'asc')">
          {{column.title}}
      </th>
      <!--<th>Columns:{{columns.length}}</th>-->
  </tr>
</script>

使用您的模板设置 ng-table 的 template-header 属性

<table ng-table="tableParams" template-header="sample_ng_header" show-filter="true" class="table">
  <tbody>
  <tr ng-repeat="user in $data">
      <td ng-repeat="column in columns" ng-show="column.visible" sortable="column.field">
          {{user[column.field]}}
      </td>
  </tr>
  </tbody>
</table>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Angular ng-table 动态标头在内部不起作用 的相关文章

  • AngularJS - 服务、工厂、过滤器等中的依赖注入

    因此 我想在我的 Angular 应用程序中使用一些插件和库 目前 我只是引用这些函数 方法 因为它们是在 99 的应用程序中以完全忽略依赖注入的方式使用的 我有 例如 javascript 库 MomentJS 它处理格式化和验证日期 并
  • AngularJS:在部分视图出现之前触发 $viewContentLoaded

    对于部分视图 我想做一些我通常会做的 JavaScript 事情 document ready function 例如将 venet 侦听器绑定到元素 我知道这对于 AngularJS 和加载到 根 视图中的部分视图不起作用 因此 我向控制
  • AngularJS with Grunt - 连接到另一台服务器

    我使用 grunt bower 和 yeoman 创建了一个 AngularJS 应用程序 我猜想 Gruntfile js 在 2014 年 1 月之后发生了变化 不确定 这是我的gruntfile js Generated on 201
  • 角度 ng-repeat 根据条件添加样式

    我在 div 列表上使用 ng repeat 并且在渲染此 div 的 json 中手动添加项目 我需要定位我在 json 中添加的最后一个 div 它会自动在屏幕上渲染 即 couse 光标所在的位置 其余部分保持在相同位置 但没有给出渲
  • 使用 ng-options 在 AngularJS 中使用 JSON 填充 select

    编辑 我的代码实际上确实有效 我只是一个有不相关问题的白痴 感谢大家的意见 所以我有一个 JSON 对象数组 格式如下 id id1 text text1 id id2 text text2 我想使用这些填充 AngularJS 选择字段
  • AngularJS 更改一个控制器中的模型值会触发其他控制器中的模型更新

    EDIT 好吧 我更新了示例以避免循环问题 所以回到原来的问题 它仍然会重新计算 B 模型对象 在这个例子中 http jsfiddle net qn2Wa http jsfiddle net qn2Wa div div div div
  • AngularStrap 工具提示禁用我的自定义指令

    我正在尝试让 bs tooltip AngularStrap 指令与我自己的名为 checkStrength 的自定义指令一起使用 该指令检查密码的强度 单独使用这些指令中的任何一个时 它们都可以正常工作 但不能一起工作 This http
  • Angularjs : $locationProvider.hashPrefix("!") ;

    我想将网址显示为 www test com 因为我正在使用 locationProvider hashPrefix 但它显示网址为 www test com 我想 哈希之前而不是哈希之后 Thanks var app angular mod
  • 在 angularjs 应用程序中更改页面的位置哈希,无需重新加载页面

    我需要能够更改页面的位置哈希 例如从 到 page1 以便 angularjs 不会重新加载页面 有可能吗 在路由定义中添加此参数reloadOnSearch false 禁止在查询参数更改时重新加载基于 ui router 的视图 htt
  • ng-submit 不允许自定义绑定提交事件

    我有一个指令 我想用它在提交表单时广播事件 我正在做的项目有很多表单 因此无法在ng submit调用的函数中广播事件 指示 directive form function return restrict E link function s
  • 模板中带有 ng-if 的 angularjs 指令

    我正在构建一个在模板内使用 ng if 的指令 奇怪的是 提供给链接函数的元素没有扩展ng if代码 它只是ng if的注释行 经过一番尝试 我发现通过将链接代码包装在 timeout 中似乎可以使其正常工作 但我想知道这是否不是正确的处理
  • 为什么我无法将 $location 注入到我的 config() 中?

    为什么这会给我一个错误 angular module app config function routeProvider locationProvider httpProvider location 未捕获的错误 未知的提供商 来自应用程序
  • 动态加载的输入框不执行任何操作

    所以我有一些 html 会根据用户所在的 QuestionNumber 动态加载到 panel div 中 这不是全部代码 而是我认为的所有相关代码 无论如何
  • ng-include 和 ng-view 不同时加载

    下面是我的应用程序的结构 很简单 页眉和页脚是非常小的文件 而主页上的 ng view 要大得多 当我进入该页面时 我注意到了这一点 首先加载两个 ng include 然后 ng view 出现 页脚被推到底部 页脚闪烁大约 0 1 秒
  • 使用 ng-table 角度计算列的总和

    我正在使用 Angular ng table 以表格形式绘制数值数据 我无法弄清楚如何在表末尾引入一行 该行显示每列所有值的总和 我可以在服务器端计算数据并将其呈现在用户界面中 但有没有办法在 ng table ng grid 中实现这一点
  • Angularjs 完整日历不显示事件

    我正在用那个https github com angular ui ui calendar https github com angular ui ui calendar在 Angularjs 中使用 FullCalendar 它显示日历并
  • 如何处理并不总是返回承诺的函数?

    处理函数并不总是返回 Promise 的情况的最佳方法是什么 我的实际代码太复杂 无法解释 但问题的本质归结为检查条件 根据它 我要么返回一个局部变量 要么需要发送一个 ajax 请求 像这样的事情 function example val
  • angularjs:如何向资源对象添加缓存?

    在 http 中添加缓存非常简单 通过传递cache true http docs angularjs org api ng http https docs angularjs org api ng service 24http有缓存选项
  • 如何从 jQuery 对话框按钮访问我的角度范围?

    http plnkr co edit Rf0VItthVBg6j0z7KudO http plnkr co edit Rf0VItthVBg6j0z7KudO 我正在使用 jQuery 对话框 并且想要使用对话框按钮 但我不知道如何获取范围
  • 当 Angular 由于数据更改而完成更新布局时如何调用函数

    我有一个 ng repeat 指令 它显示链接列表 它工作正常 但我的代码还有一个 JavaScript 函数 它根据列表的尺寸放置列表 当然 在 Angular 完成数据绑定和修改 DOM 之前 列表的维度是未知的 如果我在数据更改后立即

随机推荐

  • SQL排序不遵循group by语句,总是使用主键

    我有一个 SQL 数据库 其中有一个名为staff 具有以下列 workerID Prim key name department salary 我应该找到每个部门工资最高的工人 并使用以下语句 select staff workerID
  • ColdFusion CFHTTP 和 SSL 证书

    背景 当我尝试使用 CFHTTP 连接到 API 时 我一直遇到连接失败错误消息的问题 在查看 SoapUI 中的 API 时 我注意到有一个按钮SSL Info 3 certs 概述如下 当我单击该按钮时 会弹出一个副本窗口 其中概述了下
  • Android 设备 adb 在 linux/Mac 上始终未经授权

    我不得不处理这个问题几次 每次我都会忘记原因是什么 直到我深入挖掘 所以这是症状 每次重新连接 重新启动设备时 您都会收到授权对话框 即使您可以swear你检查了Always上次勾选了 adb shell给你下面的简介 adb device
  • 为什么在 C 中执行算术运算后会丢失值的余数?

    我正在尝试通过遵循以下内容来学习基本的 C 编程textbook我一定遗漏了一些关于数据类型 舍入和 或运算顺序的信息 因为当我尝试构建一个简单的程序将秒转换为小时和分钟时 小时有效 但剩余分钟在它们出现时变为 0不应该是 谢谢Course
  • 如何将外部 HTML 文件导入 TypeScript 类

    我正在尝试构建一个正在使用的 JavaScript 包Webpack将 TypeScript 文件及其所有导入编译为单个 JavaScript 文件 该包的主要目标是按照一组给定的条件向任何使用该包的应用程序输出 HTML 目前 我通过使用
  • Django Admin 中有“DetailView”吗?

    我知道 Django 管理中有一个更改 更新视图 但是是否有任何详细视图仅列出记录的属性 有点像 Django 应用程序中的 DetailView 或者有人知道我可以安装任何第三方软件包来提供相同的功能吗 我最近也在调查这个问题 一种有效的
  • 查询 JSON 列中数组的元素

    最近升级到使用 PostgreSQL 9 3 1 来利用 JSON 功能 在我的表中 我有一个 json 类型列 其结构如下 id 123 name foo emails id 123 address somethinghere id 45
  • 对数组进行排序的最小“插入”次数

    假设有一个无序列表 我们唯一能做的操作就是移动一个元素并将其插入回任何位置 对整个列表进行排序需要多少步 我想答案是size of the list size of longest ordered sequence 但我不知道如何证明这一点
  • 在 Swift 中使用 GeoFire 查询不会提供有用的输出

    我现在非常绝望 因为我正在尝试在 Firebase 数据库上使用 GeoFire 来查找附近的用户 我现在已经被困了两天了 我在 Google 和 stackoverflow 上进行了很多搜索 并尝试了在那里找到的所有内容 但没有成功 现在
  • 黑莓 - 自定义尺寸 EditField

    我正在尝试组合一个应该如下所示的对话框 填写以下字段 喜欢 其中 行是编辑字段 我将所有字段粘贴到 Horizo ntalFieldManager 中 并将其添加到对话框中 不幸的是 第一个 EditField 占用了第一行的所有空间 我尝
  • 未找到名为 zlib 的模块

    我下载python2 6 6源码形式http www python org getit releases 2 6 6 之后我运行这些命令 配置 制作 我尝试导入 zlib 但它说没有名为 zlib 的模块 如何为其安装 zlib 模块 在我
  • tkinter 中是否可以有一个垂直方向的按钮?

    是否可以定向tk Button or ttk Button垂直 就像定向一个tk Scrollbar在某种方式self scrlbr tk Scrollbar master orient vertical 试过tk Button args
  • Python Tkinter:如何配置循环生成的按钮?

    我正在使用 Python 2 7 和 Tkinter 为我的代码制作 GUI 在某一时刻 框架中充满了许多循环按钮 当我单击其中一个按钮时 该函数需要知道它是从哪里调用的 所以我在谷歌上搜索并找到了这种很好的方法 def generate
  • 线程“AWT-EventQueue-0”中的异常 java.lang.NoClassDefFoundError

    我正在尝试阅读 docx文件到一个JTextPane 但它给出了一些例外 我在用POI图书馆 我应该怎么办 请帮帮我 这是我的代码 file new File C Users Siddique Ansari Documents CV Par
  • 尝试为 Windows 扩展安装 Python 时出现值错误

    我已经安装了 Microsoft Visual Studio 2008 我下载了 zip 文件用于 Windows 的 Python 扩展并将内容提取到我的 Python27 文件夹中 现在有一个名为 pywin32 214 的子文件夹 3
  • 更新 Django Rest Framework 中的多对多关系

    在我的 django 应用程序中 我之间存在多对多关系Orders and Packages 一个订单可以有多个包裹 我想了解更新和创建方法 模型 py class Package models Model prod name models
  • 当 iframe 托管代码无法访问的外部网站时获取 iframe 内容的高度[重复]

    这个问题在这里已经有答案了 可能的重复 让 iframe 适合其内容高度 正如问题标题中所描述的那样 我正在寻找一种方法来根据我的 iframe 托管的网站的高度来调整 iframe 的高度 因为我需要摆脱 iframe 的垂直滚动 同时
  • Facebook PHP SDK:上传活动封面照片

    我使用 facebook php sdk 为页面创建一个事件 现在正如所描述的here可以将图片上传到活动 问题是 这是个人资料图片 但一年多以来 Facebook 为活动提供了新的大幅封面照片 我想上传一张图片到那里 而不是作为个人资料图
  • Python GUI 中的实时绘图

    我正在尝试编写一个 Python GUI 并且需要进行实时绘图 我目前有一个程序可以从我正在使用的机器接收数据 我希望能够在收到机器输出的值时绘制它们 我一直在研究 从迄今为止的发现来看 在我看来 tkinter 或任何库都不能在 GUI
  • Angular ng-table 动态标头在内部不起作用

    我正在将 ng table 与动态列一起使用 使用创建者的示例 位于http bazalt cms com ng table example 20 它工作得很好 直到我尝试用 transclude 包裹指令 女巫导致标题消失 如上所示htt