0
我正在嘗試使用角引導組件,特別是選項卡組件。我的自定義指令,目前看起來是這樣的:
scope: {
select: '&select'
},
template: '<tabset>' +
'<tab ng-repeat="tab in menu.tabs" disabled="tab.disabled" active="tab.active" select="tabSelected($index)">' +
'<tab-heading>' +
'<i class={{tab.headingClass}}></i> {{tab.title}}' +
'</tab-heading>' +
'<div ng-include="tab.partial"></div>' +
'</tab>' +
'</tabset>',
controller: 'TabBarController',
在上面我可以用$index
服務檢索當前標籤指數和能正常工作。在標籤控制器,我可以通過函數訪問此:
$scope.tabSelected = function (tabIndex) { .. };
我的HTML(removal.html)使用的指令及其select
屬性,從它自己的控制器(去除-controller.js)功能以通爲上面的功能進行使用:
$scope.tabSelected = function (tabIndex) {
if ($scope.select){
$scope.$eval($scope.select({index : tabIndex}));
}
};
所以,如果選擇接收它會檢查它,並假設傳回的選項卡索引功能 - 問題是,我總是回來不確定。下面就是我正在做需要的標籤索引鏈接和去除控制器的HTML:
<div tab-bar file-url="..."
select="removalModel.onSelected()"
></div>
$scope.removalModel.onSelected = function(tabIndex){
cvsBoxService.resetScrollToTop('planoRemovalContainer');
// Always gets back undefined
console.log("Tab index:"+tabIndex);
};
我希望這是明確的....反正你怎麼打包參數,發送通過$ eval並利用它在另一邊?
感謝
注:我也試過:
$scope.$eval($scope.select(), {index : tabIndex});
這一切都有點令人困惑,但我一次看到的是在HTML中使用'$ index',而在代碼中調用'select'時使用'index'。 – zeroflagL 2014-09-24 11:08:08
我知道它難以正確解釋 - 你創建一個JSON對象來保存索引的值 – Katana24 2014-09-24 11:57:38
你是什麼意思? – Katana24 2014-09-24 14:45:57