1

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 但这也不起作用。

4

0 回答 0