我看到了Netbeans 8的一个演示,展示了AngularJS对象的javascript自动完成。在我的测试项目中,它不起作用。当我输入"ng-"时,它会自动完成指令,但当我试图从控制器访问属性对象中的变量时,自动完成不工作。我的项目可以从http://www.clearsoftinc.com/public_html/下载。例如,如果将这个项目加载到netbeans中,然后转到index.html并转到第28行。"product.name"表达式中的"name"应该在自动完成中出现,但它没有。
问题是你使用了"controller as"特性,这是Angular 1.2的新特性。但是目前NetBeans还不支持。
如果你想获得代码完成,你的ng-controller
指令应该看起来像
ng-controller="StoreController"
和所有应该暴露给页面的属性都必须通过$scope
app.controller("StoreController", ["$scope", function($scope) {
$scope.products = gems;
}]);
请注意,这不是一种过时的甚至是黑客的方式,它是100%有效和正确的代码。在Angular 1.2中,你可以选择使用$scope
还是this
更新:对controller as
的支持现在是NetBeans每日构建的一部分(在这里下载),将在即将到来的NetBeans 8.1