2013-12-04 2 views
0

У меня есть директива:AngularJs Вызвать метод Директивы без любого события

myDirectives.directive('myRating', function() { 
return { 
    restrict: 'A', 
    template: '<div> <ul style="margin : 0px">' + 
       '<li ng-repeat="i in getNumber(myNumber)" ng-click="toggle($index)"    id=$index readonly="false">' + '<img src="star.png">'     
       '</li>' + 
      '</ul></div>', 

    scope: { 
    . 
    . 
    . 
    }, 
    link: function (scope, elem, attrs) {  
     // if myId exists in array tab[]   
     if (tab.indexOf(scope.myId+"") != -1) { 
      //get a value val 

      toggle(val); //*******Call function toggle *********** 
     } 

    scope.toggle= function(val) { 
      scope.ratingValue = val + 1;   
      // set clicked rating value and change ui as well 
    } 

Теперь, ошибка => переключатель не определен.
Хотя код можно повторить здесь, но, чтобы избежать избыточности, есть ли способ, которым я могу позвонить toggle? Благодаря

+1

Называйте это как ' $ scope.toggle (val); ' – AlwaysALearner

+0

Спасибо большое .. не ударил, чтобы использовать его .. вы можете добавить его на улицу, чтобы я мог отметить его ответ – zeetit

+0

Одно сомнение в расширении к нему, шаблон шаблона, который я использую изолирован, но когда я вызываю toggle для установки scope.ratingvalue как val для этой области, он устанавливает максимальное значение для всей области действия, а не только для этого шаблона .. любая идея, почему это происходит? – zeetit

ответ

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