Der folgende Controller funktioniert ohne Probleme.JavaScript `bind` Methode funktioniert nicht wie erwartet
app.controller('foo', ['$scope',function ($scope) {
$scope.delete = function(){
bar($scope);
}
}]);
Ich habe versucht, es eine wenig sauberer zu machen von bind
mit:
app.controller('foo', ['$scope',function ($scope) {
$scope.delete = bar.bind(null, $scope);
}]);
Leider ist diese Form nicht so funktioniert erwartet und $scope
ist immer mit einer alten Version von $ Umfang in gebundenem Verfahren geliefert (bar
hier), auch nachdem $ scope geändert wurde, um auf einen anderen Wert zu verweisen. Was ist daran falsch?
Was noch?
Wenn ich hier nicht bind
verwenden soll, was ist die Alternative?
verwenden Was ist drin Util? Ich kann nicht darüber nachdenken, warum du das tun musst. –
Scheint einen Missbrauch der Bindung an mich. –
Ist das Problem, dass * $ scope.delete * ein Wert * ist, aber es ist ein * alter * Wert? Oder versagt die Funktion ganz oder gar nicht? – apsillers