Mam widok w aplikacji angularjs, w której chcę pozwolić użytkownikowi na wybór pomiędzy różnymi skonfigurowanymi siatkami. Idealnie chciałbym powiązać wartość przekazaną do dyrektywy ng-grid ze zmienną modelu, jak pokazano poniżej. Jednak, chociaż ten przykład świadczy znaczników nie działa, gdy prosty ciąg znaków jest przekazywana do NG-grid (tj. <div class="gridStyle" ng-grid="gridOptions1"></div>
dynamiczna konfiguracja nie powiedzie się.Jak dynamicznie skonfigurować ng-grid
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>
Czy ktoś może mi powiedzieć, proszę, czy istnieje sposób na uzyskanie ng- siatka przyjąć inną konfigurację dynamicznie, lub jeśli istnieje obejście tego ograniczenia? Należy pamiętać, że trzeba zmienić konfigurację wielu właściwości sieci, a nie tylko columnDefs
i data
właściwości, które wierzę, że istnieją rozwiązania.
Plunker: http://plnkr.co/edit/mdXrq6?p=preview
Więc jak dokładnie możesz teraz zmienić opcje siatki? Próbowałem w ten sposób: http://plnkr.co/edit/FfnbLhgllUgysN8ZUJZP?p=preview, ale bez powodzenia dla mnie. – Clem
@Clemu nie możesz. To tylko columndefs lub dane, które są rozpoznawane przez sieć i działają inaczej. na przykład multiselect będzie włączony lub wyłączony tylko podczas inicjalizacji nggrid :-( – Sebastian