无法在 angularjs 中更改控制器中的 1 个参数?

Can't change 1 arg in controller in angularjs?

这是我的 angular 代码。

angular.module("app", []).controller("ctrl", function($scope){
    $scope.name = "Name";
});

但是,当我更改了不起作用的参数时。

angular.module("app", []).controller("ctrl", function($para){
    $para.name = "Name";
});

如何让它工作,我们不能在我们的其他功能中使用它吗?

范围是HTML(视图)和JavaScript(控制器)之间的绑定部分。这是angular.

的特色菜

请阅读此https://www.w3schools.com/angular/angular_scopes.asp

“$scope”是 AngularJS 中的一项特殊服务。 但是,您可以创建自己的服务“$para”并根据需要注入它。

检查this

此外,如果您不想使用“$scope”,您可以使用替代的 'controller as' 语法。 了解它 here

Angular 根据给定的参数名称使用依赖注入。它不知道 $para,所以它不会被注入。但是,您可以在明确说明要注入的服务名称的地方使用数组表示法。如果你最小化你的 javascript 代码,数组符号也是必要的,这样当你的变量重命名为 ab 等时 angular 仍然知道要注入什么:

angular.module("app", []).controller("ctrl", ["$scope", function($para){
    // $para is the $scope object
    $para.name = "Name";
}]);

如果您的 $para 是一项服务,您必须注册它以便 angular 知道要注入什么:

angular.module("app", [])
    .service("$para", function() {
        //
    })
    .controller("ctrl", function($para){
        $para.name = "Name";
    });