Podczas oglądania wideo z jajkiem, ten o numerze Directive to directive communication sugeruje, że używamy kontrolera do dodawania funkcji do "tego" obiektu i uzyskiwania dostępu do niego z innych dyrektyw.
pełny kod użyty w filmie: Adding functions to this object
Odpowiedni kod kontrolera jest następująca:
controller: function($scope){
$scope.abilities = [];
this.addStrength = function(){
$scope.abilities.push("Strength");
}
this.addSpeed = function(){
$scope.abilities.push("Speed");
}
this.addFlight = function(){
$scope.abilities.push("Flight");
}
},
Zastanawiałem się, zamiast dodawać funkcje do „to” dlaczego nie dodać go do $ zakres, szczególnie gdy używamy izolowanego zakresu?
Kod dodanie funkcji do $ zakresie: Adding functions to $scope
Odpowiedni kod sterownika jest w następujący sposób:
controller: function($scope){
$scope.abilities = [];
$scope.addStrength = function(){
$scope.abilities.push("Strength");
};
$scope.addSpeed = function(){
$scope.abilities.push("Speed");
};
$scope.addFlight = function(){
$scope.abilities.push("Flight");
};
},
Albo dlaczego mają funkcję kontrolera w ogóle. Dlaczego nie możemy skorzystać z funkcji łącza, aby osiągnąć ten sam rezultat?
Dodawanie funkcji do $ zakres w funkcji Link: Using link funtciont instead of controller
odpowiednia funkcja kontrolera i łącza jest następująca:
controller: function($scope){
$scope.abilities = [];
$scope.addStrength = function(){
$scope.abilities.push("Strength");
};
$scope.addSpeed = function(){
$scope.abilities.push("Speed");
};
$scope.addFlight = function(){
$scope.abilities.push("Flight");
};
},
Jestem całkiem pewien, że istnieje ważny powód, aby korzystać z kontrolera i tego obiektu . Nie jestem w stanie zrozumieć, dlaczego. Gdyby ktoś mógł wyjaśnić, że byłoby to pomocne.