我创建了一个提供者。它从应用程序的配置中获取数据,并更新数组links
。现在我想从控制器访问链接数组。但是当控制器调用提供者的$ get函数时,它只是第一次调用。当提供程序更新中的数据时,控制器中的数据不会更新。
这是提供者
this.$get = function () {
return self.links;
};
this.addLink = function (link) {
self.links.push(link);
}
在app的配置中调用addLink函数。以下是我访问控制器中的提供程序数据的方法:
var links = myProvider;
如何从提供商处获取更新数据?
答案 0 :(得分:0)
如果我正确理解您的问题,$get
中的provider
应该是工厂,在您的代码中,它是一个值而不是工厂函数,因此它始终是相同的值。尝试将其包装在另一个函数中。
this.$get = function() {
return function() { return self.links;}
}