Ruby on Rails 和 angularJS:有人可以解释一下用法和语法吗?

Ruby on Rails and angularJS: Can someone explain the usage and syntax pls

本文关键字:一下 语法 用法 angularJS Rails on Ruby 解释      更新时间:2023-09-26

angular.module('MyModule').controller('MyController', ['$scope', '$timeout', 'MyService', 'MyOtherService', function ($scope, $timeout, MyService, MyOtherService) {
 <!-- some code -->
}])

我是 ROR 框架的新手,正在尝试弄清楚此代码片段试图做什么。还有角度服务是如何工作的。有没有办法在另一个模块中访问与定义它的模块不同的服务。

这段代码纯粹是angularjs的..没有任何RoR。我将逐字描述。

  1. angular这是对全局angular对象的引用。
  2. .module调用获取/启动application的组件,您可能会在 html/erb/haml 文件中注意到它作为标签的属性 ( ng-app )。 这里getting名为 MyModule 的模块。
  3. .controller调用在组件"MyModule"上创建/启动一个控制器,对于初学者来说,它需要 2 个参数,首先是controller的名称(在您的情况下MyController)它将通过它进行寻址。 其次是controller function
  4. 您看到的第二个参数array可能有点棘手,Angular 使用它将依赖项注入controller函数中,前n-1元素是要在控制器中使用的组件的名称,如服务、工厂等。 然后,这些参数作为参数传递到控制器函数中。

这个片段是纯的AngularJS代码。

angular.module('MyModule')

此部分创建模块。

(您可以在此处阅读有关模块的信息:https://docs.angularjs.org/guide/module)

controller('MyController', ['$scope', '$timeout', 'MyService', 'MyOtherService', function

此部分创建控制器。

(关于控制器:https://docs.angularjs.org/guide/controller)

并在 IT 中注入服务:"$scope"、"$timeout"、"我的服务"、"我的其他服务"

(关于依赖性注射:https://docs.angularjs.org/guide/di)