2016-10-26 36 views
0

我決定將https://lorenzofox3.github.io/smart-table-website/納入我的應用程序。在網站上的例子工作正常,但是,當我開始整合時,我無法做出行選擇功能。智能表與角1.5.8 - 行選擇不工作 - 範圍未填寫

演示網站和我之間的主要區別是我使用的是Angular 1.5.8。我已經調試並確定了片段,這讓我懷疑:

ng.module('smart-table') 
    .directive('stSelectRow', ['stConfig', function (stConfig) { 
    return { 
     restrict: 'A', 
     require: '^stTable', 
     scope: { 
     row: '=stSelectRow' 
     }, 
     link: function (scope, element, attr, ctrl) { 
     var mode = attr.stSelectMode || stConfig.select.mode; 
     element.bind('click', function() { 
      scope.$apply(function() { 
      ctrl.select(scope.row, mode); 
      }); 
     }); 

     scope.$watch('row.isSelected', function (newValue) { 
      if (newValue === true) { 
      element.addClass(stConfig.select.selectedClass); 
      } else { 
      element.removeClass(stConfig.select.selectedClass); 
      } 
     }); 
     } 
    }; 
    }]); 

功能link接收scope對象,其中row是不確定的,因此select功能跳過,並沒有什麼對行所做的。

我已經在筆上覆制了該問題:http://codepen.io/anon/pen/bwJqBw過濾器和排序工作正常,只有行選擇不是。

我該如何解決問題以及原因是什麼?範圍綁定的語法是否已更改?根據文檔,這似乎是好的,但作爲一個角度新手,我很難斷言。

回答

1

您需要使用ST-選擇行使用的是在您的NG-重複相同的參考,從你的codepen,你正在做的:

<tr st-select-row="row" st-select-mode="multiple" ng-repeat="customer in displayedCustomers"> 

而且你應該做的:

<tr st-select-row="customer" st-select-mode="multiple" ng-repeat="customer in displayedCustomers">