我试图派生jquery数据表来创建我的自定义数据表并使列动态化。我无法将colums作为对象传递。我在指令控制器中得到一个字符串。
var columns =
{
cols: [
{
"mDataProp": "Name",
"render": function (data, type, full, meta) {
return '<a href="#/u/d/' + full.Id + '">' + full.Name + '</a>';
}
},
{ "mDataProp": "prop2" }
};
function getColumns() {
return columns;
}
<my-table
columns='columns'
message="my message"></my-table>
app.directive('myTable', function () {
return {
restrict: 'E',
templateUrl: '/TableView.html',
replace: false,
controller: function ($scope) {
// $scope.urun =
// $scope.arg1 = attrs.headerText;
//
},
scope: {
columns: '=columns'
},
link: function (scope, element, attrs) {
var columns = attrs.columns;
console.log(columns);
}
}
答案 0 :(得分:0)
您需要将变量列分配给控制器中的scope属性,然后:
app.directive('myTable', function () {
return {
restrict: 'E',
templateUrl: '/TableView.html',
replace: false,
controller: function ($scope) {
// $scope.urun =
// $scope.arg1 = attrs.headerText;
//
},
scope: {
columns: '='
},
link: function (scope, element, attrs) {
var columns = $scope.columns;
console.log(columns);
}
}
有关范围配置如何工作的更多信息:$compile