gpt4 book ai didi

javascript - 添加可能存在也可能不存在的 AngularJS 资源

转载 作者:行者123 更新时间:2023-12-02 18:07:52 25 4
gpt4 key购买 nike

使用 AngularJS 1.0.4

我们的一个 Angular 应用程序依赖于在加载其他任何内容之前加载的资源。我们通过在 app.run() 中初始化的服务执行此操作,然后广播一个事件,其他所有内容都会监听以开始加载。

在 Controller 中,我们还需要访问结果资源。所以我在每一个中都有以下内容:

$scope.parent = null;

if(!svc.parent) {
$scope.on('parentLoaded', function() {
$scope.parent = svc.parent;
});
} else {
$scope.parent = svc.parent;
}

每个 Controller 都绑定(bind)到一个 View ,并且可以按任何顺序调用。因此,不能保证在调用 Controller 时加载资源,尽管如果事先调用了另一个 Controller ,则可以加载资源。加载事件仅在应用首次加载时第一次初始化服务时触发。

有更好的方法吗?

看起来有点多余而且不干净。

最佳答案

我只想使用一个 promise 。你会得到类似的东西:

var deferred = $q.defer();
$http.get('/application').then(function(res) {
deferred.resolve(res);
});
function fetch() {
return deffered.promise;
}

为了加载您的初始资源,我们将将该资源称为“应用程序”。然后,要加载下一部分,您可以执行以下操作:

application.fetch().then(function(svc) {
//res is whatever is returned from our $http.get, earlier
$scope.parent = svc.parent
//do whatever required your resource here
});

关于javascript - 添加可能存在也可能不存在的 AngularJS 资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19941917/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com