2015-09-14 3 views
0

Я построил директиву, но не отображается на странице? Это код:как показать угловую директиву?

app.directive('resetFilter', function() { 
    return { 
    restrict:'E', 
    template:'<div>  This is the filter:   <a href="#" ng-click="resetFilter()">Reset Filter</a>    </div>', 
    controller:function($scope){ 
     $scope.resetFilter= function(){ 
     console.log('resetfilter this one !!!!'); 
     $scope.name='' 
     console.log('accname',$scope.name); 
     }; 
    } 
    }; 
}); 

HTML выглядит следующим образом:

<body ng-controller="MainCtrl"> 
<reset-filter></reset-filter> 
     name: {{hello}} 
     <input type="text" ng-model='hello' /> 
</body> 

Кроме того, как я могу вызвать функцию resetFilter? Я хочу сбросить значение $ scope.name? plunk: http://plnkr.co/edit/rUCMq9?p=preview

ответ

1

Проверьте это.

http://plnkr.co/edit/9DjCYfXqvkD7kURpTHCv?p=preview

app.controller('MainCtrl', function($scope) { 

    $scope.hello='hell2o'; 

}); 

app.directive('resetFilter', function() { 
    .... 
}); 

Вы должны добавить директиву вне контроллера.

Что касается «перезагрузки значение», проверить это один из AngularJS - pass function to directive

В принципе, вам нужно создать функцию «сброс» в контроллере затем передать его в директиву, где вы положили его в ng-click.

Дайте мне знать, если это поможет.

+0

@Pindakaas если вы все еще не можете понять это. Вы можете проверить это http://plnkr.co/edit/NjpjO18qH53QQv0LW811?p=preview. – kdlcruz

+0

прохладный чувак отличный – Pindakaas

Смежные вопросы