Привет, есть способ, когда я могу изменить размер виджета, используя угловую сетку. Я знаю, что gridster (не угловая версия) имеет функцию для него следующим образом:
gridster.resize_widget(widget,6,6)
Я не знаю, как это сделать, используя угловую сетку
Это зависит от того, что вы пытаетесь сделать. Если вы просто хотите, чтобы они начинались с определенного размера, вам нужно изменить gridsterOpts. Если вы хотите изменить размер вручную с помощью мыши, вам нужно убедиться, что в поле gridsterOpts re sizable свойство "enabled" установлено в true. Если вы используете функцию, которая автоматически изменяет размер виджета, то это еще одна ситуация.
В основном размер виджета определяется сетчаткой, просматривая свойства виджета sizeX и sizeY, которые всегда сохраняются внутри объекта виджета. Всякий раз, когда вы вручную изменяете размер виджета, автоматически изменяются свойства sizeX и sizeY этого виджета. Виджет может начинаться с sizeX = 2 и sizeY = 3, но как только вы измените его размер, чтобы сделать его больше, эти два свойства изменяются.
Способ, которым угловой знает, как отображать эти виджеты (размер, положение и т.д.), - это цикл через массив, содержащий объекты виджетов, и считывание всех их свойств. Если вы хотите сбросить размер виджета внутри функции, вам нужно будет определить, какой виджет вы хотите изменить, а затем сбросить его свойства sizeX и sizeY. Как только вы это сделаете, изменения должны быть распознаны и виджет должен измениться.
Я думаю, у вас есть контроллер, где вы объявили свои виджеты. Правильно?
Вам не нужен какой-либо метод. Угловая ручка для вас. Если вы измените некоторые из ваших виджетов внутри вашего углового контроллера $ scope.your_widgets - все ваши изменения будут также в шаблоне.
//so your widgets probably looks like this in your controller.
$scope.standardItems = [
{ sizeX: 2, sizeY: 1, row: 0, col: 0 },
{ sizeX: 2, sizeY: 2, row: 0, col: 2 },
{ sizeX: 1, sizeY: 1, row: 0, col: 4 },
{ sizeX: 1, sizeY: 1, row: 0, col: 5 },
{ sizeX: 2, sizeY: 1, row: 1, col: 0 },
{ sizeX: 1, sizeY: 1, row: 1, col: 4 },
{ sizeX: 1, sizeY: 2, row: 1, col: 5 },
{ sizeX: 1, sizeY: 1, row: 2, col: 0 },
{ sizeX: 2, sizeY: 1, row: 2, col: 1 },
{ sizeX: 1, sizeY: 1, row: 2, col: 3 },
{ sizeX: 1, sizeY: 1, row: 2, col: 4 }
];
//and where ever you want (in controller I mean) - you can do like this:
$scope.standardItemems[3].sizeX = 6;
$scope.standardItemems[3].sizeY = 6;
<div gridster>
<ul>
<li gridster-item="item" ng-repeat="item in standardItems"></li>
</ul>
</div>
Поэтому, если вы просто хотите изменить размер виджета каким-то супер-конкретным способом, было бы неплохо добавить бит более подробную информацию. Потому что угловатые иногда немного сложны с простыми вещами.