che*_*zer 15 angularjs angularjs-directive ng-animate ng-class isolate-scope
我正处于从版本1.2.*转换到1.3.*的过程中,我遇到了一个非常奇怪且严重的错误.
在我的应用程序中,我有一个非常简单的directive包含templatewith ng-class(具有范围属性的条件)由于某种原因它不适用于1.3.*版本,并且它与1.2.*版本一起正常工作.
看看这个 Plunker来说明问题.
此Plunker代码使用角度1.2.*版本,您可以看到它的工作正常.
尝试更改角度版本(index.html)
<script src="https://code.angularjs.org/1.3.9/angular.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-animate.js"></script>
<!--<script src="https://code.angularjs.org/1.2.28/angular.js"></script>
<script src="https://code.angularjs.org/1.2.28/angular-animate.js"></script>-->
Run Code Online (Sandbox Code Playgroud)
刷新页面,然后您可以看到错误:
Angular不会根据'active'属性更改来刷新ng-class.
我试图了解导致此错误的原因,经过大量尝试后我发现该'ngAnimate'模块导致了这个问题.尝试删除'ngAnimate'依赖项(script.js):
//var app = angular.module('app', ['ngAnimate']);
var app = angular.module('app', []);
Run Code Online (Sandbox Code Playgroud)
然后你可以看到一切都很好,因此'ngAnimate'版本1.3.*会导致这个问题.
所以这是AngularJS的错误,我是对的吗?
如果没有,我做错了什么?
您是否有任何特定理由replace在指令中使用该选项?如果没有,你可以删除它,它工作正常.使用Angular 1.3.9链接到工作的plunker:
http://plnkr.co/edit/jLIS9uJ1PHC64q6nEmtB?p=preview
V1.3.9文档告诉我们这种replace方法已被弃用,很少需要指令才能工作,显然在你的情况下它也会造成一些麻烦.
| 归档时间: |
|
| 查看次数: |
519 次 |
| 最近记录: |