gpt4 book ai didi

angularjs - $controller 的 "locals"参数有什么作用?

转载 作者:行者123 更新时间:2023-12-04 01:03:52 24 4
gpt4 key购买 nike

在 Angular 中,$controller接受两个参数 - constructorlocals .

Documentation

该文档基本上只是说:

  • locals是一个对象。
  • “为 Controller 注入(inject)本地变量。”

  • 但我仍然不明白它的作用。任何人都可以详细说明和解释吗?

    最佳答案

    “Locals”允许您在 Controller 中定义可注入(inject)对象 - 即它定义了 $injector 的对象。可以仅针对该 Controller 定位(例如,与可以使用 .factory 定义的应用程序范围的可注入(inject)相反)。

    最好的说明是一个例子:

    var controller = $controller("Controller1", {
    foo: {
    v: "I am foo"
    }
    });

    然后,你的实际 Controller 可以注入(inject) foo :
    .controller("Controller1", ["$scope", "foo", function($scope, foo){
    $scope.fooVal = foo.v;
    }]);

    您需要使用 $controller 的情况非常罕见(单元测试除外)。直接在您的代码中 - 这是一个奇怪的 example where you can .然而, ui-router 使用它。和 ng-route使用 "resolved" values 为状态/路由定义 Controller .

    关于angularjs - $controller 的 "locals"参数有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31251230/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com