- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 ui.grid 获取零件列表。我创建了一个列,其中包含一个启动模式的按钮。我遇到的问题是共享行中包含的部分的范围。我想与我使用 cellTemplate 创建的按钮共享该行的属性。然后我想与它将启动的模式共享部分行的 $scope。
我对如何实际执行此操作有点难过。
到目前为止我已经尝试过
• 在我想要定位的按钮周围环绕一个 ng-repeat。这种工作但使应用程序 super 慢• 通过ng-class 在按钮上进行数据绑定(bind)。我似乎无法正确定位。
如何将通过 $http.get 接收到的对象的 $scope 与您使用 cellTemplate 创建的元素共享到 ui.grid 中?
最佳答案
免责声明 -- 我总是使用 controllerAs 语法,因此如果在 HTML 上下文中引用 Controller 对您来说很奇怪,请忽略该部分并假装您将方法直接设置在范围。我也用 Typescript 做所有事情,而不是 Javascript,所以我将在这里编写代码的相关部分。它们应该很容易插入您的应用程序。
答案是您已经从 Sunil 和 S.Baggy 那里得到的两个答案的组合。
您要做的是使用 getExternalScopes() 函数并将某些内容附加到网格所在的 HTML 范围。你递给网格的东西将排在行中并调用你的模式弹出窗口。请参阅下面的说明。
您的 HTML -
<div ng-controller="MyController as myController">
<div ui-grid="myController.GridObject" external-scopes="myController"></div>
</div>
通过使用 controllerAs 语法并使 Controller 成为外部作用域中的引用,我们现在可以访问 Controller 中的所有内容。所以我们可以调用其中的方法。然而,为了做到这一点,我们必须使用一个 cellTemplate,听起来您已经知道该怎么做,并且在该 cellTemplate 中我们必须具有以下内容:
ng-click="getExternalScopes().methodToLaunchModal()"
现在连接所有这些的最后一部分是将 methodToLaunchModal() 方法写入 Controller 。为此,我们从 S.Baggy 的回答中借用了代码。这是一个带有 GridObject 的非常简短的 Controller (与我在上面的 Controller 中引用的相同):
app.controller('MainCtrl', function($scope, $modal) {
GridObject = {
... setup of all the other things
columnDefs: [{ etc, etc, }, { etc, cellTemplate: '<div ng-click="getExternalScopes().methodToLaunchModal(row.entity)">whatever</div>' }]
};
methodToLaunchModal: function(row) {
var modalInstance = $modal.open({
templateUrl: 'someTemplate',
controller: 'ModalController',
resolve: {
rowObject: function () { return row; }
}
});
};
});
此时,您的模态作用域上将有一个名为 rowObject 的对象,该对象将具有您行中的所有属性。因此,您应该能够调用 rowObject.SomeProperty 来获取它的值。
如果任何语法略有偏差,我们深表歉意。
关于javascript - 使用 ui.grid 与 cellTemplate 共享 $scope,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28770778/
我有一个在运行时构造的 listView,即在编译时不知道这些列。 我想将 DataTemplate 应用于单元格,使 TextAlignment 属性为 TextAlignment.Right。创建
我正在使用具有以下数据结构的 ui-grid : { name: String, tags: [{label: String, image: String}] } 因此网格将有两列:名称和标签。行
我假设之前有人问过这个问题,但我找不到它,所以请告诉我它是否与其他措辞或其他内容一起找到了重复项。 问题出在包含多个 CellTemplate 的 SL4 DataGrid,包括 Checkbox、B
我有一个使用最新版本 (3.0.0-rc22) 的 ui-grid。在我的列定义中,我设置了一个 cellTemplate 以允许链接到不同的路由。不幸的是,无论我为 cellTooltip 设置了什
我在 AngularJS 中使用树形网格组件:http://khan4019.github.io/tree-grid-directive/test/treeGrid.html 这是上面 plunker
我的 Angular 网格有问题。 这是我的代码: cellTemplate: ' ' vm.doSomething = function() { alert("ALERT!"); } 我想
我有一个 ObservableCollection,其中包含多种类型的 View 模型,我想为每个 GridViewColumn 的 CellTemplates 中的每种类型创建一个 DataTemp
我有一个 GridView 控件,我正在添加 GridViewColumns。我使用的是 GridViewColumn 的 DisplayMemberBinding 属性,但现在我想使用 CellTe
当我在数据中有一个空字符串“”的值并且我在 cellTemplate 中使用背景颜色时,它不会为整个单元格着色。这是说明问题的线索。 http://plnkr.co/edit/TP4VH9xA7qCF
我正在尝试使用 celltemplate。但是点击事件不起作用。 $scope.format = function(val){ return val.replace(/
我正在制作一个包含几个选项的简单列表。这是它的样子: 点击listviewitem时按钮出现,离开时消失 当按下“播放”时,此按钮保持可见,内容更改为“停止” 我的问题是: 当我按下 Stop 时,此
我使用的是 angular-ui-grid 3.1.1,一次有 25、50、75 条记录。每个单元格都有不同的单元格模板,例如,点击弹出窗口、悬停弹出窗口、文件下载链接、带有个人资料图像的数据、嵌套表
我正在尝试在 ngx-Datatable ( https://github.com/swimlane/ngx-datatable) 中实现 cellTemplates,但无法弄清楚为什么它不起作用。
我有以下用于 DataGrid 的 .xaml,并希望在 .cs 代码中的特定条件下显示/隐藏按钮。xaml 代码如下
我正在尝试覆盖 ngx-datatable 单元格的模板。所以在我的模板 (html) 文件中,我为此设置了一个小 View 。为了测试模板是否有效,我只显示了围绕它开始的值: **{{
我用 ngGrid 显示我的数据。我想将 cellFilter 和 cellTemplate 一起用于特定列,但似乎它们不能一起使用。 当我单独使用 cellFilter 或 cellTemplate
我正在尝试在 UiGrid 中显示自定义 D3 cellTemplate Angular 库并实现排序功能。按照此answer我能够实现它,但使用自定义目录而不是 nvd3 。为了使用自定义模板(此处
在此示例中,我在使文本环绕正常工作时遇到问题。谁能看到我在这里做错了什么?
我在包含许多 GridViewColumns 的 WPF 窗口中有一个 ListView。第一列用于复选框。其余列非常相似,包含一个带有文本 block 的数据模板。我希望能够为其中的每一个重复使用一
我撞到头了!这似乎是一个相当简单的问题......我正在使用 ui-grid Angular 控件,并且我正在尝试在 cellTemplate 中使用自定义指令。我可以成功地将它放在那里,但问题是我无
我是一名优秀的程序员,十分优秀!