2013-08-29 2 views
0

У меня есть пример такой же директивы в jsFiddle и еще один в plnkr. В jsFiddle мне нужно дважды щелкнуть текст, чтобы изменить текст, в то время как в plnkr он работает, как ожидается, с одним. Может кто-нибудь указать на это, если это ожидаемое поведение или просто ошибка в скрипке.В jsFiddle, почему мне нужно дважды щелкнуть, чтобы изменить текст в директиве?

http://jsfiddle.net/z6bfC/

http://plnkr.co/edit/2Z1u2PzbRzPYzjPv4miG?p=preview

HTML:

<div ng-app="testModule"> 
    <div ng-controller="MyCtrl"> 
     <div>{{test}} 
      <br/> 
      <test-directive class="width" bindme="test" style="color: red;">Click Me Twice!!</test-directive> 
     </div> 
    </div> 
</div> 

Директива/Контроллер:

angular.module('testModule', []).directive('testDirective', function() { 
    return { 
     restrict: 'E', 
     scope: { 
      bindme: "=" 
     }, 
     link: function (scope, element, attr) { 

      element.bind('click', function() { 
       scope.bindme = "Changed"; 
       if (!scope.$$phase) { 
        console.log(scope.bindme); 
        scope.$apply(); 
       } else { 
        console.log("Something"); 
       } 
      }); 

     } 
    }; 
}). 
controller('MyCtrl', function ($scope) { 
    $scope.test = "Some string";  
}); 

Спасибо!

ответ

1

Кажется, что у AngularJS 1.1.0 есть некоторые напуганные вещи.

Попробуйте 1.1.1. http://code.angularjs.org/1.1.1/angular.min.js

+0

Вы, честно говоря, должны пропустить всю линию 1.1.x - [1.2.0rc1] (http://code.angularjs.org/1.2.0rc1/angular.min.js), и это будет стабильная версия 1.1.x. – OverZealous

+0

Я на самом деле рекомендую использовать только стабильную версию 1.0.7 – zsong

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

  • Нет связанных вопросов^_^