/ / angular bez zależności nie działa - javascript, angularjs

kątowy bez zależności nie działa - javascript, angularjs

Właśnie zacząłem kanciaste js i zacząłem odpodstawowa deklaracja modułu bez usług i fabryk. Działało dobrze przed dodaniem usług i fabryk. Teraz po dodaniu usług i fabryk już nie działa.

Pierwsza deklaracja, która już nie działa:

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;
}]);

Dodano fabrykę:

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

Usługa dodana:

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

Odpowiedzi:

0 dla odpowiedzi № 1

Ponownie wysyłasz moduł „root” zamiastdodanie nowego modułu „usługi”, ponieważ ponownie dodałeś „usługi” do swoich zależności. Nie musisz redeclare „root” w nowym module, ponieważ powinien być samodzielny i przenośny. Sprawdź dokumentację modułu: https://docs.angularjs.org/guide/module

Twój moduł „usługi” powinien być deklarowany w ten sposób:

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

0 dla odpowiedzi nr 2

Brakuje ważnej części funkcji angular.module.

Funkcja działa jako getter i setter, w zależności od podanych argumentów.

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

Gdzie [...] jest tablicą zależności, jest „ustawiaczem”, więc utworzy moduł.

Teraz, po utworzeniu, aby uzyskać moduł i dodać kontrolery, usługi itp., Pomiń tablicę zależności.

angular.module("module name")

Ponadto musisz zdefiniować services moduł przed twoim root moduł.

// 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 dla odpowiedzi № 3

Usługi lub fabryki w angularJS nie mogą być wstrzykiwane z modułu

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

powyższe jest błędne

usługi i fabryki są wtryskiwane bezpośrednio do sterownika

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

jeśli problem nie został rozwiązany, proszę wysłać kod usługi / fabryki, może pojawić się więcej pomysłów na problem.