2016-10-03 71 views
0

爲什麼我的函數toggleCategory函數沒有被觸發?函數內部指令不被觸發

指令

app.directive('asideFilter', function() { 
    return { 
    restrict: 'E', 
    scope: { 
     toggleCategory: '=&onToggleCategory' 
    }, 
    transclude: true, 
    templateUrl: 'assets/directives/asideFilter/asideFilter.html', 
    link: function(scope, element, attrs){ 
    } 
    }; 
});; 

指令模板

<div ng-click="toggleCategory({id: 'teste'})">TEST</div> 

父範圍

$scope.onToggleCategory = function() { 
    console.log('onToggleCategory'); 
    } 

家長來電

<aside-filter toggle-category="onToggleCategory({id: 'test '})" categories="categories" /> 
+0

它解決了!我剛剛修復了指令代碼: 範圍:{toggleCategory:'=&onToggleCategory'} –

回答

1

你可以調用父控制器功能這樣也

app.directive('asideFilter', function() { 
return { 
restrict: 'E', 
scope: { 
    toggleCategory: '&', 
}, 
transclude: true, 
templateUrl: 'assets/directives/asideFilter/asideFilter.html', 
link: function(scope, element, attrs){ 
scope.toggleCategoryClick = function (value) { 
scope.toggleCategory(value); 
    } 
} 
}; 
}); 

指令模板

<div ng-click="toggleCategoryClick({id: 'teste'})">TEST</div> 

指令元素

<aside-filter toggle-category="onToggleCategory({id: 'test '})" categories="categories" /> 
+0

您是對的,我剛剛在2分鐘前完成了這個任務! Tks –

+0

它很好,你知道了。 – Hmahwish