我正在使用smart-table分页。还有一个默认的选定项目(isSelected=true
)。
我想要实现的是分页转到所选项目所在表格的实际页面。
我尝试从分页中获取$scope
,以访问selectPage()
函数。但我无法获得$ scope。
angular.element($('#pagination')).scope()
返回控制器$ scope
angular.element($('#pagination')).isolatedScope()
返回null
修改
这是plnkr。
是否可以从指令中获取范围?我希望从this directive
获取范围这是表格html:
<table st-table="table" st-pipe="pipeFunction" st-safe-src="rowCollection" class="table table-striped">
...
<tfoot>
<tr>
<td colspan="5">
<div id="pagination" st-pagination="" st-items-by-page="8" st-template="/scripts/angular/pagination.custom.html"></div>
</td>
</tr>
</tfoot>
</table>
答案 0 :(得分:1)
所以我已经管理了它,也使用了默认选择。
<强>的javascript:强>
GetDllVersion "C:\data\Some.exe" $R0 $R1 ;the two values were read during compilation
IntOp $R2 $R0 / 0x00010000
IntOp $R3 $R0 & 0x0000FFFF
IntOp $R4 $R1 / 0x00010000
IntOp $R5 $R1 & 0x0000FFFF
MessageBox MB_OK '$R2.$R3.$R4.$R5'
<强> HTML:强>
app.directive('stDefaultSelection', function () {
return {
require: 'stTable',
restrict: 'A',
scope: {
selection: '=stDefaultSelection',
},
link: function link(scope, element, attrs, controller) {
scope.$watch('selection', function (newValue, oldValue) {
var selectionMode = 'single',
pagination = controller.tableState().pagination;
//controller.select(newValue, selectionMode); => causes second call of function
var rows = controller.getFilteredCollection(),
indexOfRow = rows.indexOf(newValue),
finalPage = Math.ceil(rows.length / pagination.number);
if (indexOfRow > -1) {
controller.slice(finalPage * pagination.number, pagination.number);
}
});
}
};
});
答案 1 :(得分:0)
啊我觉得我发现了问题。
而不是:
angular.element($('#pagination')).isolatedScope()
尝试使用(没有d
):
angular.element($('#pagination')).isolateScope()