这是html代码
<button type="submit" ng-click="get(selected_items)">Genrate</button>
<pre>selected roles = {{selected_items}}</pre>
<grid table-data="data" cols="columnDefs" sortcols="name" pagination="true" enablefiltering="true" />
这是我的指示
app.directive('grid', function ($compile) {
return {
restrict: 'E',
template: function ($elem, $attr) {
if ($attr.pagination == "true") {
return '<div class="gridStyle" ui-grid="options" ui-grid-pagination></div>';
}
else {
return '<div class="gridStyle" ui-grid="options" ></div>';
}
},
scope: {},
compile: function (cElem, cAttrs) {
return {
pre: function (scope, iElement, iAttrs) {
scope.options = {};
if (iAttrs.pagination == "true") {
scope.options = {
paginationPageSizes: [6, 10, 20],
paginationPageSize: 6
};
}
if (iAttrs.enablefiltering=="true") {
scope.options.enableFiltering = true;
}
scope.options.columnDefs = scope.$parent.$eval(iAttrs.cols);
var array;
if (iAttrs.sortcols.indexOf(',') > -1) {
array = iAttrs.sortcols.split(',');
_.each(scope.options.columnDefs, function (object) {
object.enableColumnMenu = false;
_.each(array, function (obj) {
if (object.field == obj) {
object.enableSorting = true;
}
else {
if (object.enableSorting = true)
return;
object.enableSorting = false;
}
});
});
}
else {
_.each(scope.options.columnDefs, function (object) {
object.enableColumnMenu = false;
if (object.field == iAttrs.sortcols) {
object.enableSorting = true;
}
else {
object.enableSorting = false;
}
});
}
scope.options.data = iAttrs.tableData;
scope[iAttrs.tableData] = scope.$parent.$eval(iAttrs.tableData);
}
}
}
}
});
当我点击按钮时,应该触发get函数并且应该调用指令但是当按钮点击时应该设置属性cols
,pagination
和&#39; table-data`应该如何我执行这个?