app.directive("widget", function () {
return {
restrict : 'E',
templateUrl: function (elem, attr) {
return '/Views/Widget/' + attr.widgettype + '.html';
},
controller: function ($scope, $element, dataService) {
console.log($scope.w.DataUrl);
dataService.getData($scope.w.DataUrl)
.then(function (data) {
$scope.DataSource = data;
$('#' + $scope.w.Name).kendoGrid({
columns: PrepareColumns($scope.w.Columns),
dataSource: data,
scrollable: true,
sortable: true
});
});
},
}
});
<div ng-app="WidgetContainer" ng-controller="WidgetContainerCtl">
<widget ng-repeat="w in UserWidgets" class="panel panel-default" widgettype="{{w.WType}}"></widget>
</div>
以上是我试图实现的代码
1)根据传递的集合迭代生成小部件标签。2) 使用widgettype 属性值来确定所需的模板。
但是上面没有在下一行获取 widgettype 的值
return '/Views/Widget/' + attr.widgettype + '.html';
我已经尝试过使用 nr-attr-widgettype 但这也不起作用。