AngularJS 中如何给一个自定义指令 directive 传递一个对象类型的参数?

我想写一个自定义指令,根据外部传进来的数组,在页面上生成一个表格。我该怎么做?angularjs的自定义指令是否只能接收字符串参数?哪位大神能帮帮忙,谢谢!

阅读 10k
1 个回答

可以给你个简单示例:jsFiddle

<div ng-controller="DemoCtrl">
      <ng-table data="list"></ng-table>
</div>
var demo = angular.module('demo', []);

demo.directive('ngTable', function(){

    return {
        restrict: 'E',
        scope: {
            data: '='
        },
        link: function($scope, element, attrs){
            
        },
        template: '<table><tr ng-repeat="item in data"><td>{{ item.id }}</td><td>{{ item.name }}</td></tr></table>'
    };
});


demo.controller('DemoCtrl', function($scope){
    $scope.list = [
        {
            id: 123,
            name: 'Hello World'
        },{
            id: 234,
            name: 'Fucking world'
        },{
            id: 345,
            name: 'What did you say?'
        }
    ];
});

至于是不是“只能传字符串”,你需要看明白文档先:

图片描述

文档地址:scope

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏