您的问题很难理解,希望我理解正确。您想为网格定义默认设置,但需要时允许用户输入一些特殊设置吗?
在您自己的指令中扭曲ui-grid。将所需的参数传递给该指令,并在指令中创建默认设置。
您的.cshtml。您将设置变量传递给它。
<my-grid options="usersList" />
您的指令。在此处获取设置(请参阅选项:“ =”),并将其绑定到控制器或示波器。
angular.module('app').directive('myGrid', myGrid);function myGrid() { return { templateUrl : 'grid.html', controller : 'GridCtrl', controllerAs : 'grid', restrict: 'E', scope: { options : '=', }, bindToController: true, };}您的控制器。现在,您可以在该控制器中访问您的设置。在那里,您可以将默认设置与插入的设置结合起来,并将其传递到指令模板。
angular.module('app').controller('GridCtrl', GridCtrl);function GridCtrl() { var grid = this; console.log(grid.options); // containts your settings grid.gridOptions = { paginationPageSize: grid.options.paginationPageSize, ..., columnDefs: grid.options.columnDefs etc }}然后将您的grid.html将组合的设置传递到grid-API中。
<div id="grid1" ui-grid="grid.gridOptions" ></div>
还有更多细节需要提防,但这就是可能的设置。
e:我为另一个类似的问题做了一个Plunkr。备查。



