【发布时间】:2015-08-19 03:54:10
【问题描述】:
对于 Angular 和 javascript 来说有些新意。我编写了以下控制器,使用工厂服务访问本地 JSON 文件。此代码的大部分源自(或完全采用)this post by Dan Wahlin。我无法访问函数外部的 $scope.books 变量,也无法弄清楚原因。函数内的 console.log 给了我我正在寻找的对象,但外面的对象返回未定义。我在这里做错了什么?谢谢。
app.controller('FormController', ['$scope', 'tocFactory', function ($scope, tocFactory) {
$scope.books;
getBooks();
function getBooks() {
tocFactory.getBooks().
success(function(data, status, headers, config) {
$scope.books = data;
console.log($scope.books);
}).
error(function(data, status, headers, config) {
// log error
})
}
console.log($scope.books);
}]);
【问题讨论】:
-
一切正常,
success内的 console.log 返回正确的对象。欢迎来到异步方法的世界。 -
我想这取决于你对 OK 的定义。我无法在我的 HTML 中绑定到它,也无法在控制器的其他部分以当前形式使用它。我怎样才能做到这一点?
-
UI 数据绑定的全部意义在于,每当您的数据发生更改时,UI 都会自动反映这一点。您的绑定一定不正确。
标签: javascript ajax angularjs asynchronous angularjs-http