以角度创建布局指令

时间:2014-02-07 15:58:52

标签: angularjs angularjs-directive

民间,

我正在尝试在自定义标头下对齐一堆行。

标题是这样的:

$scope.header =  [ 
 { column:'name',  width: '80'},
{ column:'city', width: '80'},
{column:'hobby',  width: '200'}
{column:'age',  width: '80'}
]; 

数据如下:

$scope.students = [ 
{
'city: 'new york',
'name':'James hans',
'age': '35'
},
{
'name':'Superman'
'city: 'los angeles',
'hobby': 'crime fighter',
'age':'30'
},
{
'name':'Spiderman'
'city: 'unknown',
},
];

输出应如下所示:

Name                    City                 Hobby                  Age
james hans        new York                    -                     35
Superman          los angeles            crime fighter              30
Spiderman         unkown                      -                     - 

在一天结束时,我希望创建一个可以像下面一样使用的指令。

<dir    column-headers="header" column-body="students"    custom-layout /> 
</dir>

有谁知道我怎么能做到这一点?

Plnkr: http://plnkr.co/edit/TG6aCEu2TgPq28Jcj0nM

2 个答案:

答案 0 :(得分:0)

您可以使用该选项通过templateUrl动态加载模板。

基本上,指令中的templateUrl可以是function(elem, attr)形式的函数。从那里你可以读取attr的值并相应地设置模板。

见这里的例子: https://github.com/angular/angular.js/issues/1039#issuecomment-30939037

答案 1 :(得分:0)

我终于设法解决了这个问题。 你可以在这里看到plnkr:

http://plnkr.co/edit/TG6aCEu2TgPq28Jcj0nM