2

我一直在使用这段代码来引导 AngularJS:

angular.bootstrap(angular.element("body")[0], ["stApp"]);

但是现在我决定不使用 jQuery 并且收到消息“选择器未实现”

有没有一种方法可以解决这个问题而不必使用 jQuery 选择器?

4

1 回答 1

2

首先,ng-app即使在页面底部加载AngularJS脚本也可以使用,这应该没有任何问题。

是的,如果您不包含 jQuery AngularJS 回退到所谓的 jqLit​​e - AngularJS 正常运行所需的 jQuery API 的最小子集。如http://docs.angularjs.org/api/angular.element所述,jqLit​​e 中实现的唯一选择器是标签名称选择器。因此,如果您真的想进行手动引导,您应该将代码更改为:

angular.element(document).ready(function() {
  angular.bootstrap(angular.element(document).find('body'), ['stApp']);
});

在这里,我们只使用了一个标签名选择器,因此find即使没有包含 jQuery,也可以按预期工作。演示 plunk:http ://plnkr.co/edit/xsE02zWxK993FTXtWUbp?p=preview

于 2013-06-17T18:14:03.890 回答