保存 table 格式以在 AngularJS 中填充不同的值

Saving a table format to fill in with different values in AngularJS

我是 UI 技术的新手。 我正在尝试创建一个带有选项卡的 HTML 页面,这两个选项卡将以相同格式的 table 显示不同的数据。有没有一种方法可以保存 table 格式,用不同的值填充它并为每个选项卡呈现它们? 感谢期待任何帮助或提示。

这是我的代码:

<div ng-cloak="" class="container" ng-app="MyApp" ng-controller="MyAppControler" ng-init="init()">
<h1></h1>
   <md-content>
        <md-tabs md-dynamic-height="" md-border-bottom="">
            <md-tab label="Teachers">
                <md-content class="md-padding">
                    <table class="table table-striped" >
                    <colgroup>
                        <col width="" />
                        <col width="" />
                    </colgroup>
                    <thead>
                        <tr>
                            <th width="100">Name</th>
                            <th width="260">Address</th>
                         </tr>
                    </thead>
                    <tbody>
                        <tr ng-repeat="Name in teacherNameList">
                            <td>{{name}}</td>
                            <td>{{Address}}</td>
                        </tr>
                    </tbody>
                    </table>
                </md-content>
            </md-tab>
            <md-tab label="Students">
                <md-content class="md-padding">
                    <table class="table table-striped">
                        <colgroup>
                        <col width="" />
                        <col width="" />
                    </colgroup>
                    <thead>
                        <tr>
                            <th width="100">Name</th>
                            <th width="260">Address</th>
                         </tr>
                    </thead>
                    <tbody>
                        <tr ng-repeat="Name in studentNameList">
                            <td>{{name}}</td>
                            <td>{{Address}}</td>
                        </tr>
                    </tbody>
                    </table>
                </md-content>
            </md-tab>
        </md-tabs>
    </md-content>

您可以将其作为一个组件,然后将项目集合作为参数传递。通常我不会像这样内联定义模板(除非它是一个非常简单的模板)——而是我会把它放在自己的 HTML 文件中。这可能不是您所需要的,但应该让您了解如何使用组件。我使用的是单向绑定 (<),但如果您需要更新集合中的项目,您会希望使用双向绑定 (=)。

angular.module('app', [])
  .component('myCustomTable', {
    template: '<table class="table table-striped">' +
        '<colgroup>' +
          '<col width="" />' +
          '<col width="" />' +
        '</colgroup>' +
        '<thead>' +
          '<tr>' +
            '<th width="100">Name</th>' +
            '<th width="260">Address</th>' +
          '</tr>' +
        '<thead>' +
        '<tbody>' +
          '<tr ng-repeat="item in $ctrl.collection">' +
            '<td>{{ item.name }}</td>' +
            '<td>{{ item.address }}</td>' +
          '</tr>' +
        '</tbody>' +
      '</table>',
    controller: MyCustomTableController,
    bindings: {
      collection: '<'
    }
  })
  .controller('ctrl', ($scope) => {
    $scope.teachers = [{
      name: 'Mr. Smith',
      address: 'Room 101'
    }, {
      name: 'Ms. Smith',
      address: 'Room 201'
    }];
    $scope.students = [{
      name: 'Jane Doe',
      address: '123 Any Street'
    }, {
      name: 'John Doe',
      address: '123 Any Drive'
    }];
  });

function MyCustomTableController() {}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.7.2/angular.min.js"></script>
<div ng-app="app" ng-controller="ctrl">
  <div>
    <h3>Teachers</h3>
    <my-custom-table collection="teachers"></my-custom-table>
  </div>
  <div>
    <h3>Students</h3>
    <my-custom-table collection="students"></my-custom-table>
  </div>
</div>