我正在使用AngularJS的ng-grid,下面是我的指令中的代码:
$scope.gridOptions = {
data : 'sample',
columnDefs : [ {
field : "username",
displayName : "USER NAME",
width : 145
}, {
field : "password",
displayName : "Password",
width : 145
}],
而不是硬编码我希望从控制器动态显示它们的网格的显示名称。我将结果存储在控制器中的变量中,因此我想将此变量传递回指令并显示结果变量中的列名。我可以使用rootScope将值从指令传递给控制器所以有什么办法将值传递回控制器的指令。 请建议我如何做到这一点。
答案 0 :(得分:0)
您可以从基础数据源构建ColDefs [],该数据源可以提供数据以进行绑定
$ scope.griddata = response.data //这是分配数据的地方 $ scope.gridoptions = { 数据:griddata, columnDefs:coldef,// coldef我们将从datasource对象构建 。 。 }
从$ scope.gridata,我们将提取所有列信息,并将其分配给$ scope.coldef,该范围绑定到columndefinition
var fieldnames = Object.key($ scope.griddata [0]); //从json数据中获取列def for(var i = 0; i< fieldnames.length; i ++){
$ scope.coldef.push({field:fieldnames [i]});
}
现在ColDef是基于分配的数据源
的动态和构建