Я Absolutley новый в AngularJS и довольно новый в JavaScript, и я следующие сомнения, связанные с этим примером показал в учебник:Как точно работает определение компонента приложения AngularJS (модуль, фабрика, контроллер)?
// Creates values or objects on demand
angular.module("myApp") // Get the "myApp" module created into the root.js file (into this module is injected the "serviceModule" service
.value("testValue", "AngularJS Udemy")
// Define a factory named "courseFactory" in which is injected the testValue
.factory("courseFactory", function(testValue) {
// The factory create a "courseFactory" JSON object;
var courseFactory = {
'courseName': testValue, // Injected value
'author': 'Tuna Tore',
getCourse: function(){ // A function is a valid field of a JSON object
alert('Course: ' + this.courseName); // Also the call of another function
}
};
return courseFactory; // Return the created JSON object
})
// Controller named "factoryController" in which is injected the $scope service and the "courseFactory" factory:
.controller("factoryController", function($scope, courseFactory) {
alert(courseFactory.courseName); // When the view is shown first show a popupr retrieving the courseName form the factory
$scope.courseName = courseFactory.courseName;
console.log(courseFactory.courseName);
courseFactory.getCourse(); // Cause the second alert message
});
Это довольно ясно для меня, что это было сделано: это создать угловой модуль которые представляют мое приложение, и это называется myApp. затем определите значение, фабрику (которая возвращает объект courseFactory JSON) и, наконец, контроллер, в который вводится предыдущая фабрика.
Думаю, что для меня непонятно синтаксис объявления этих «компонентов».
Так, мне кажется, что «синтаксис» что-то вроде этого:
angular.module("myApp").value(VALUE DECLARATION).factory("courseFactory", function(testValue) { RETURN THE JSON OBJECT IMPLEMENTING THE FACTORY }).controller("factoryController", function($scope, courseFactory) { IMPLEMENT THE CONTROLLER });
Так мои сомнения: почему все «компоненты» (далее значение декларация, завод реализация и контроллер ) определены в «цепочке конкатенаций», где «.» символ добавляет эти компоненты в цепочку?
Что именно означает это "." ?
Я думаю, что он добавляет поле к объекту или что-то в этом роде, но мне кажется странным.
Так первый есть угловой объект (это объект или что?), На котором добавлен модуль («MyApp») «компонент» (и, кажется, логика, потому что я добавляю модуль к Угловое).
Тогда значение добавлено в качестве свойства этого модуль. А также это имеет смысл, потому что я добавляю значение к определенному модулю.
Но почему тогда завод ы добавлен как поле этого значения, а затем контроллер добавляется как поле этого завода?
Думаю, что что-то не хватает.
Что мне не хватает? Как ezactly работает определение «компонент» AngularJS?
ли это вам помочь? – tasseKATT