Podoba mi się, że AngularJS nie wymaga specjalnej składni dla modeli, ale istnieje jeden scenariusz, który nie może się objąć. Podjąć następująceModele AngularJS, wiele zakresów i dwukierunkowe powiązanie danych
moich dataService okłady cokolwiek smak przechowywania danych Używam:
app.factory('dataService', function() {
var data = 'Foo Bar';
return {
getData: function() {
return data;
}
};
});
Mam dwa kontrolery, że zarówno dostępu do tego samego kawałka danych:
app.controller('display', function($scope, dataService) {
$scope.data = dataService.getData();
});
app.controller('editor', function($scope, dataService) {
$scope.data = dataService.getData();
});
Jeśli następnie mieć dwa widoki, z których jeden modyfikuje dane, dlaczego druga aktualizacja nie jest automatyczna?
Rozumiem, jak działa to w stylu Knockout, w którym byłbym zmuszony uczynić z danych obiekt obserwowalny nokaut. Więc wszelkie modyfikacje w jednej części aplikacji wyzwalają subskrypcje i aktualizują widoki w innej. Ale nie jestem pewien, jak sobie z tym poradzić w Angular.
Każda rada?
jeśli 'data' jest zakresy obiekt będzie dzielić odniesienie do tego samego obiektu, gdy dane jest prymitywny, zachowują wartość niezależnie – charlietfl
problem nie jest związany kątowe, to sposób działa javascript http://jsfiddle.net/uGdEc/ – charlietfl
@charlietfl Dokładnie. Podczas korzystania z warstwy modelu, takiej jak nokaut, tworzysz obiekty dla wszystkiego, co ma być obserwowalne. Usuń tę warstwę i wydaje się, że nie ma to sensu, jak prymitywy mogą być monitorowane (jak pokazuje twoje skrzypce). – nicholas