У меня есть представление в приложении angularjs, в котором я хочу разрешить пользователю выбирать между различными сетями, настроенными по-разному. В идеале я хотел бы привязать значение, переданное директиве ng-grid к переменной модели, как показано ниже. Однако, хотя этот пример отображает разметку, которая работает, когда простое строковое значение передается в ng-сетку (т.е. <div class="gridStyle" ng-grid="gridOptions1"></div>
, динамическая конфигурация не выполняется.
var app = angular.module('myApp', ['ngGrid']);
app.controller('MyCtrl', function($scope) {
$scope.option;
$scope.myData = [{name: "Moroni", age: 50},
{name: "Tiancum", age: 43},
{name: "Jacob", age: 27},
{name: "Nephi", age: 29},
{name: "Enos", age: 34}];
$scope.gridOptions1 = { data: 'myData',
columnDefs: [{ field:"name", displayName: "NAME"},
{ field:"age", displayName: "AGE"}],
multiSelect: true };
$scope.gridOptions2 = { data: 'myData',
columnDefs: [{ field:"name", displayName: "Name"},
{ field:"age", displayName: "Age"}],
multiSelect: false };
});
<body ng-controller="MyCtrl">
<label>Show me:</label>
<input type="radio" name="option" ng-model="option" value="gridOptions1">Grid A</input>
<input type="radio" name="option" ng-model="option" value="gridOptions2">Grid B</input>
<div class="gridStyle" ng-grid="{{option}}"></div>
</body>
Может ли кто-нибудь сказать мне, пожалуйста, если есть способ заставить ng-grid принимать другую конфигурацию динамически или если это обходное решение для этого ограничения? Обратите внимание, что мне нужно перенастроить несколько свойств сетки, а не только свойства columnDefs
и data
, для которых я считаю, что существуют обходные пути.