angular ng-table 官方的例子我做了一早上一晚上就是做不出来....

1.ng-table的例子已经做的让我怀疑人生了....难道我是隐藏的智障?

不废话 直接上code:

先是controller里面注入NgTableParams
然后html:

<div ng-controller="editStoreItemController" class="pageback">
    <table ng-table="editStoreItemController.tableParams" class="table table-condensed table-bordered table-striped">
          <tr ng-repeat="row in $data">
            <td data-title="'Name'" filter="{name: 'text'}" sortable="'name'">{{row.name}}</td>
            <td data-title="'Age'" filter="{age: 'number'}" sortable="'age'">{{row.age}}</td>
            <td data-title="'Money'" filter="{money: 'number'}" sortable="'money'">{{row.money}}</td>
            </tr>
    </table>
</div>

然后js:

app.controller("editStoreItemController", editStoreItemController);
  editStoreItemController.$inject = ["NgTableParams"];

  function editStoreItemController(NgTableParams) {
    var simpleList=[{ name: 'christian', age: 21 }, { name: 'anthony', age: 88 }];
    var self = this;
    self.tableParams = new NgTableParams({}, {
      dataset: simpleList
    });
  }

结果:在浏览器中,只显示
clipboard.png
这个东西,其他数据都没有,都要挠破头了;

阅读 6.6k
3 个回答

找到原因了~~ 看看区别在哪里,对于新手来说坑的很

<div ng-controller="editStoreItemController as vm" class="pageback">
    <table ng-table="vm.tableParams" class="table table-condensed table-bordered table-striped">
        <tr ng-repeat="row in $data">
        <td data-title="'Name'" filter="{name: 'text'}" sortable="'name'">{{row.name}}</td>
      <td data-title="'Age'" filter="{age: 'number'}" sortable="'age'">{{row.age}}</td>
      <td data-title="'Money'" filter="{money: 'number'}" sortable="'money'">{{row.money}}</td>
      </tr>
  </table>
</div>

  app.controller("editStoreItemController", editStoreItemController);
  editStoreItemController.$inject = ["NgTableParams"];

  function editStoreItemController(NgTableParams) {
    var simpleList=[{ name: 'christian', age: 21 }, { name: 'anthony', age: 88 }];
    var vm= this;
    vm.tableParams = new NgTableParams({}, {
      dataset: simpleList
    });
  }

clipboard.png

显然页面没有问题 但你定义的值没有获取到

clipboard.png

你在这个控制器定义了 var self = this

建议你用 ng-table="self.tableParams"


<div ng-controller="editStoreItemController" class="pageback">
    <table ng-table="vm.tableParams" class="table table-condensed table-bordered table-striped">
        <tr ng-repeat="row in $data">
        <td data-title="'Name'" filter="{name: 'text'}" sortable="'name'">{{row.name}}</td>
      <td data-title="'Age'" filter="{age: 'number'}" sortable="'age'">{{row.age}}</td>
      <td data-title="'Money'" filter="{money: 'number'}" sortable="'money'">{{row.money}}</td>
      </tr>
  </table>
</div>

  app.controller("editStoreItemController", editStoreItemController);
  editStoreItemController.$inject = ["NgTableParams"];

  function editStoreItemController(NgTableParams) {
    var simpleList=[{ name: 'christian', age: 21 }, { name: 'anthony', age: 88 }];
    var vm= this;
    vm.tableParams = new NgTableParams({}, {
      dataset: simpleList
    });
  }
  

clipboard.png

<div>
<table ng-table="self.tableParams" class="table table-condensed table-bordered table-striped">
    <tr ng-repeat="row in $data">
      <td data-title="'Name'" filter="{name: 'text'}" sortable="'name'">{{row.name}}</td>
      <td data-title="'Age'" filter="{age: 'number'}" sortable="'age'">{{row.age}}</td>
      <td data-title="'Money'" filter="{money: 'number'}" sortable="'money'">{{row.money}}</td>
    </tr>
</table>
</div>

app.controller("demoController", demoController);
  demoController.$inject = ["NgTableParams"];
  function demoController(NgTableParams) {
        console.log("running 1");
    var self = this;
        var simpleList=[{ name: 'christian', age: 21 }, { name: 'anthony', age: 88 }];
    self.tableParams = new NgTableParams({}, {
      dataset: simpleList
    });
  }

控制台 只有log的 running 1

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