Assuming you're only loading the headers once and it's okay to hide the table until the headers load, throw an ng-if="myHeaders"
onto the kendo-ui grid element, remove columns from $scope.options
and use k-columns
on the element instead.
So:
<div kendo-grid k-options="options"></div>
becomes:
<div kendo-grid k-options="options" k-columns="myHeaders" ng-if="myHeaders"></div>