我想在我的項目中創建一個下拉篩選器。所以,我使用指令創建了下拉列表,其中列表包含模板中的ng-click事件。我不知道我錯在哪裏。請提供解決方案。提前致謝。爲什麼ng-click不能在自定義指令模板上工作?
我的HTML文件
<div ng-controller="drop">
<a ng-click="toggleList">Select</a>
<div ng-if="toggleDrop">
<drop-down></drop-down>
</div>
</div>
我的控制器代碼
angular.module('myApp', [])
.controller('drop', ['$scope', function($scope){
$scope.toggleDrop = false;
$scope.filterList = ['One','Two','Three'];
$scope.toggleList = function() {
$scope.toggleDrop = !$scope.toggleDrop;
}
$scope.filterContent = function() {
alert('dfdf')
}
}]);
我的指令代碼
angular.module('myApp', [])
.directive('dropDown', function() {
return {
restrict: 'E',
templateUrl: 'drop.html'
controller: drop
}
});
我的指令模板文件
<ul>
<li ng-repeat="items in filterList" ng-click="filterContent()">{{items}}</li>
</ul>
一切工作正常,除ng-click行爲。提前致謝。
此外,在該指令分配控制器'控制器時,使用單引號:「drop'' –
@SachilaRanawaka我不認爲這樣做'drop'控制器應內部指令中使用。因爲它已經在父控制器中使用過了..要麼我們應該爲'drop-down'指令代碼制定指令控制器代碼。或者我們可以在不指定控制器的情況下共享父控制器代碼 –
@PankajParkar是的,但添加它也不會是一個問題 – Sajeetharan