ng-table插件(二-惰性加載數(shù)組)

AngularJS ng-table插件第二講,下面這個(gè)官網(wǎng)例子會(huì)根據(jù)ng-option來調(diào)用map來改變內(nèi)部數(shù)據(jù)焕刮,然后整個(gè)ng-table也會(huì)改變禽拔。
下面是源碼蚕甥,我會(huì)根據(jù)源碼來講解


<div ng-app="myApp">
  <div ng-controller="demoController as demo">
    <h2 class="page-header">Lazy loading managed array</h2>
    <div class="bs-callout bs-callout-info">
      <h4>Overview</h4>
      <p>You are not limited to having the data array to hand at the time when <code>NgTableParams</code> is created. So for example you could load the data using <code>$http</code> and then hand this to <code>NgTableParams</code></p>
    </div>
    <div class="form-inline" style="margin-bottom: 20px">
      <div class="form-group">
        <label for="datasets">Select dataset</label>
        <select id="datasets" class="form-control" ng-model="demo.dataset" ng-options="dataset for ds in demo.datasets"
                ng-change="demo.changeDs()"></select>
      </div>
    </div>
    <table ng-table="demo.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>
</div>
  • 使用<code>controller as demo</code>來把<code>controller</code>內(nèi)的對象綁定在<code>controller </code>的實(shí)例對象上佃蚜∫ㄎ洌可以跨越<code>scope</code>調(diào)用邻辉,進(jìn)行雙向綁定轿衔。
  • 當(dāng)<code>ng-option</code>發(fā)生變化的時(shí)候微驶,會(huì)觸發(fā)<code>ng-change</code>浪谴,<code>ng-change</code>會(huì)把值傳進(jìn)到<code>changeDs()</code>中。
  • <code>$data</code>是ng-table內(nèi)部數(shù)據(jù)源因苹,<code>row in $data</code> ng-table會(huì)遍歷展示數(shù)據(jù)源苟耻。
  • <code>filter="{name: 'text'}" </code> filter屬性會(huì)規(guī)定過濾條件。
(function() {
  "use strict";
  var app = angular.module("myApp", ["ngTable", "ngTableDemos"]);
  app.controller("demoController", demoController);
  demoController.$inject = ["NgTableParams", "ngTableSimpleList"];
  function demoController(NgTableParams, simpleList) {
    var self = this;
    self.changeDs = changeDs;//因?yàn)橐呀?jīng)用controller as demo扶檐,相當(dāng)于實(shí)例化controller凶杖,直接通過this可以調(diào)用
    self.datasets = ["1", "2"];//ng-options的值
    self.dataset1 = simpleList;//simpleList相當(dāng)于ngTableSimpleList注入的數(shù)據(jù)源。與createDs2想對應(yīng)(當(dāng)ng-option為1的時(shí)候)款筑。
    self.dataset2 = createDs2();//與createDs2想對應(yīng)智蝠,與ng-option=2對應(yīng)與。
    self.tableParams = new NgTableParams();//實(shí)例化table插件
    function changeDs() {//當(dāng)ng-change時(shí)候調(diào)用
      self.tableParams.settings({
        dataset: self["dataset" + self.dataset]奈梳;//確定調(diào)用dataset1還是dataset2
      });
    }
    function createDs2() {//這里就是通過map改變數(shù)據(jù)
      return simpleList.map(function(item) {
        return angular.extend({}, item, {
          age: item.age + 100
        });
      });
    }
  }
})();
(function() {
  "use strict";
  angular.module("myApp").run(configureDefaults);
  configureDefaults.$inject = ["ngTableDefaults"];
  function configureDefaults(ngTableDefaults) {//這里可以看出源碼是根據(jù)provider實(shí)現(xiàn)的
      ngTableDefaults.params.count = 5;
      ngTableDefaults.settings.counts = [];
  }
})();
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末杈湾,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子攘须,更是在濱河造成了極大的恐慌漆撞,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異叫挟,居然都是意外死亡艰匙,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進(jìn)店門抹恳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來员凝,“玉大人,你說我怎么就攤上這事奋献〗∨” “怎么了?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵瓶蚂,是天一觀的道長糖埋。 經(jīng)常有香客問我,道長窃这,這世上最難降的妖魔是什么瞳别? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮杭攻,結(jié)果婚禮上祟敛,老公的妹妹穿的比我還像新娘。我一直安慰自己兆解,他們只是感情好馆铁,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著锅睛,像睡著了一般埠巨。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上现拒,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天辣垒,我揣著相機(jī)與錄音,去河邊找鬼印蔬。 笑死乍构,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的扛点。 我是一名探鬼主播哥遮,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼陵究!你這毒婦竟也來了眠饮?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤铜邮,失蹤者是張志新(化名)和其女友劉穎仪召,沒想到半個(gè)月后寨蹋,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡扔茅,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年已旧,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片召娜。...
    茶點(diǎn)故事閱讀 38,100評論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡运褪,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出玖瘸,到底是詐尸還是另有隱情秸讹,我是刑警寧澤,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布雅倒,位于F島的核電站璃诀,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏蔑匣。R本人自食惡果不足惜劣欢,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望裁良。 院中可真熱鬧凿将,春花似錦、人聲如沸趴久。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽彼棍。三九已至,卻和暖如春膳算,著一層夾襖步出監(jiān)牢的瞬間座硕,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工涕蜂, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留华匾,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓机隙,卻偏偏與公主長得像蜘拉,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子有鹿,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,834評論 2 345

推薦閱讀更多精彩內(nèi)容