/ / angular sem dependências não está funcionando - javascript, angularjs

angular sem dependências não está funcionando - javascript, angularjs

Eu comecei js angular e comecei com odeclaração básica de um módulo sem serviços e fábricas. Estava funcionando bem antes de adicionar serviços e fábricas. Agora, depois de adicionar serviços e fábricas, não funciona mais.

A primeira declaração que não está mais funcionando:

angular.module("root",[])
.controller("index",["$scope",function ($scope){
$scope.message="My name";
$scope.favouriteWord;
$scope.favouriteColor;
$scope.favouriteShape;
$scope.value = 1;
$scope.isBold = function() {
return ($scope.value % 2===0);
}

$scope.isUnderlined = function() {
return ($scope.value % 5===0);
}

$scope.products=[
{id: 1, name:"House Jockey"},
{id: 2, name:"Golf club"},
{id: 3, name:"Baseball Bat"},
{id: 4, name:"Lacrosse stick"}];
$scope.favsha = true;
$scope.factor = 6;
$scope.product = $scope.factor * 2;
}]);

A fábrica acrescentou:

angular.module("root",["services"])
.controller("index",["$scope","square",function ($scope,square){
$scope.product=square;
}]);

O serviço adicionado:

angular.module("root",["services"])
.controller("index",["$scope","message",function ($scope,message){
$scope.message=message;
}]);

Respostas:

0 para resposta № 1

Você está redeclarando o módulo "root" em vez deadicionando um novo módulo "serviços", já que você adicionou novamente "serviços" às suas dependências. Você não precisa redeclarar "root" no novo módulo, pois ele deve ser independente e portátil. Confira a documentação do módulo: https://docs.angularjs.org/guide/module

Seu módulo "serviços" deve ser declarado assim:

angular.module("services"])
.controller("index",["$scope","message",function ($scope,message){
$scope.message=message;
}]);

0 para resposta № 2

Você está perdendo uma parte importante da função angular.module.

A função atua como um getter e um setter, dependendo dos argumentos fornecidos.

angular.module("module name", [...])

Onde está o array de dependências, é um "setter", então ele irá criar um módulo.

Agora, depois de criado, para obter o módulo e adicionar controladores, serviços, etc., omita o array de dependências.

angular.module("module name")

Além disso, você deve definir o services módulo antes do seu root módulo.

// Define "services" module
angular.module("services", []);

// Adds factory to "services" module
angular.module("services").factory("factoryName", function() {
// Implement factory...
});

// Define "root" module
angular.module("root", ["services"]);

// Adds controller to "root" module
angular.module("root").controller("controllerName", ["$scope", "factoryName", function($scope, factoryName) {
// Implement controller...
}]);

0 para resposta № 3

Serviços ou fábricas em angularJS não podem ser injetados a partir do módulo

angular.module("root",["services"])

o acima está errado

serviços e fábricas são injetados diretamente no controlador

angular.module("root",[])
.controller("index",["$scope","service",function ($scope,service){

Se o seu problema não for resolvido, por favor, envie o código do serviço / fábrica, pode ter mais idéia do problema.