我一直在使用这段代码来引导 AngularJS:
angular.bootstrap(angular.element("body")[0], ["stApp"]);
但是现在我决定不使用 jQuery 并且收到消息“选择器未实现”
有没有一种方法可以解决这个问题而不必使用 jQuery 选择器?
我一直在使用这段代码来引导 AngularJS:
angular.bootstrap(angular.element("body")[0], ["stApp"]);
但是现在我决定不使用 jQuery 并且收到消息“选择器未实现”
有没有一种方法可以解决这个问题而不必使用 jQuery 选择器?
首先,ng-app
即使在页面底部加载AngularJS脚本也可以使用,这应该没有任何问题。
是的,如果您不包含 jQuery AngularJS 回退到所谓的 jqLite - AngularJS 正常运行所需的 jQuery API 的最小子集。如http://docs.angularjs.org/api/angular.element所述,jqLite 中实现的唯一选择器是标签名称选择器。因此,如果您真的想进行手动引导,您应该将代码更改为:
angular.element(document).ready(function() {
angular.bootstrap(angular.element(document).find('body'), ['stApp']);
});
在这里,我们只使用了一个标签名选择器,因此find
即使没有包含 jQuery,也可以按预期工作。演示 plunk:http ://plnkr.co/edit/xsE02zWxK993FTXtWUbp?p=preview