[英]Where to store remote data used by directive inside ngView? (AngularJS)
例如:
我在ngView
使用以下结构的指令:
.directive('features', function() {
templateUrl: '.../',
link: function(scope) {
// HTTP req, getting remote data.
// Store the remote data to the scope
}
})
当我更改路线并将其返回时,再次执行指令link
选项,范围为空。 它需要等待一些时间来从远程服务器进行数据响应,然后再显示数据。 我试图避免布局拉伸。
我是新手,我已阅读文档。
我的问题是:在这种情况下,保存数据的位置好吗? 我需要做一个控制器吗? 或者我可以缓存它?
注意:该指令重复一个数组(远程数据)并进行“功能” HTML布局。 该指令将在具有其他行为的其他路由中使用。
我不需要代码说明,我可以阅读文档。 我接受术语。
您可以将数据存储在服务中,基本上就像您提到的那样充当缓存。 如果您需要重新加载页面上的数据(硬刷新,再次重新加载您的应用程序),则可以将其存储在Cookie /本地存储中。
app.service("featuresService",function($http){
var cachedFeatures=null;
return{
getFeatures:function(callback){
if(!cachedFeatures){
$http.get("...").success(function(data){
cachedFeatures=data;
callback(data);
})
}else{
callback(cachedFeatures);
}
}
}
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.