为什么我的Netbeans 8 javascript自动完成不工作在我的AngularJS项目

Why is my Netbeans 8 javascript auto-complete not working in my AngularJS project?

本文关键字:我的 工作 AngularJS 项目 Netbeans javascript 为什么      更新时间:2023-09-26

我看到了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