ng-selected和jquery出现了非常奇怪的问题

4

我使用AngularJS v1.2.3和jQuery 1.7.1,这些库按照以下顺序包含:

<script type="text/javascript" src="jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="angular.min.js"></script>

以下脚本工作方式有些奇怪,Firebug 显示第二项具有属性 "selected",但我看到的是第一项被选中!
<select ng-app>
        <option value="1" ng-selected="3==1">#1</option>
        <option value="2" ng-selected="2==2">#2</option>
        <option value="3" ng-selected="1==3">#3</option>
</select> 

当我改变脚本的排序顺序(angularjs在jquery之前),代码按预期工作。

我必须做什么来防止这个问题?我不能改变脚本的排序顺序。

更新: 这是jQuery 1.7.1的一个错误:

// See #9699 for explanation of this approach (setting first, then removal)
jQuery.attr( elem, name, "" );

后来问题被修复了:

// Do not do this for boolean attributes (see #10870)
if ( !isBool ) {
  jQuery.attr( elem, name, "" );
}

1
你需要 jQuery 做什么?Angular 应该拥有你所需的所有功能。 - Michael Tempest
3
请在开发时使用 Angular 的开发版本而非压缩版本,错误输出更加详细。请在 Plunker 中创建演示以复制该问题。 - charlietfl
1个回答

0

Angular已经内置了一个版本的jqLite,因此您实际上不需要加载外部jQuery,除非您要将Angular添加到已构建的解决方案中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接