Il seguente controller funziona senza problemi.Il metodo `bind` di JavaScript non funziona come previsto
app.controller('foo', ['$scope',function ($scope) {
$scope.delete = function(){
bar($scope);
}
}]);
ho cercato di renderlo un po 'più pulito utilizzando bind
:
app.controller('foo', ['$scope',function ($scope) {
$scope.delete = bar.bind(null, $scope);
}]);
Purtroppo, questa forma non funziona come previsto e $scope
è sempre fornito con una vecchia versione di $ portata in metodo associato (bar
qui), anche dopo che $ scope è stato cambiato in riferimento a un valore diverso. Cosa c'è che non va?
Cos'altro?
Se non dovrei usare bind
qui, qual è l'alternativa?
Cosa c'è dentro Util? Non riesco a pensare perché dovresti farlo. –
Sembra abusare di legarmi a me. –
È il problema che un valore * è * viene fornito a '$ scope.delete', ma è un * vecchio * valore? O la funzione fallisce completamente (o non viene fornito un valore)? – apsillers