Flutter如何将提供程序与get_it包一起使用

时间:2020-06-25 18:28:06

标签: flutter dart provider

我们如何在get_it中注册Providers类,所以我们只需在get_it中注册一次Provider,并且可以在任何地方使用它?假设我们有AuthProvider并以此进行注册,

var store = [{
  "Week": 1
  "sales": 35
}, {
  "Week": 2
  "sales": 53
}, {
  "Week": 3
  "sales": 48
}, {
  "Week": 4
  "sales": 24
}];

var over-sell = 0;
var improvedweek;

function weeks(list) {
  for (var x in list) {
    if (list[x].Sales > over-sell) {
      over-sell = list[x].sales;
      improvedweek = list[x].week;
    }
  }
  return improvedweek;
}

function sales(list) {
  for (var y in list) {
    if (store[y].Sales > over-sell) {
      sale = list[y].sales;
    }
  }
  return over-sell;
}
improvedweek = weeks (store);
over-sell = sales (store);
  alert("the week of highest sale was " + improvedweek + ", with " + over-sell + " sales");
}

所以我要做的是用get_it注册AuthProvider提供程序,并用get_it注册表方法包装MaterialApp,这样我就可以在应用程序类的任何地方使用所有这些提供程序。

1 个答案:

答案 0 :(得分:0)

Provider是一个小部件,因此它必须在您的小部件树中。

但是我想您是在问是否可以在没有上下文的情况下以及在小部件树的外部访问提供的数据。

我会考虑制作一个包含关键数据的类。

数据类将作为工厂实现。

然后将数据类包装在提供程序中。

由于数据类是工厂,因此实际上不需要getit。