[tldr]当网格包装在自定义指令中时,如何在列模板中创建按钮从网格周围的控制器调用方法? [ktxbye]
要解释一下,这里有3个插件:
P1)ui-grid
中的基本操作列P2)相同但Controller为vm
P3)在我的网格中包含ui-grid(操作按钮不再起作用)
在我的应用程序中,事情变得更复杂,我确实设法让自定义列中的按钮调用my-grid的控制器上的方法(通过grid.appScope.vm.FunctionName
;在我的网格上面的P3中没有甚至有一个控制器,这是一个简化的例子),但我认为我可能在错误的方向上挖得太深,所以......
你如何让P3中网格列中的按钮调用MainCtrl :: Test方法?
答案 0 :(得分:0)
经过一些急救人士的帮助(通过ui-grid闪光聊天),我觉得我有一个不错的答案。
As documented ui-grid(3.x)使用隔离范围,但允许您的模板通过$scope.grid.appScope
覆盖外部范围。
我没有意识到,当您设置网格选项时,您可以通过设置appScopeProvider
选项来覆盖grid.appScope将返回的内容,并且可以轻松地将其设置为您可能具有的范围你正在构建网格时很方便。
因此,对于我以前的插件中的场景,这里只是将appScopeProvider: $scope
添加到网格选项中的解决方案
http://plnkr.co/edit/0THPYZXPmqhfWYGo2ebE