GetX 也不接受方法参数

GetX doesn't accept method parameters either

我无法在 api 服务方法中使用我创建的“.obs”属性 变量作为参数。并给出错误 The prefix 'coinTwo' can't be used here because it is shadowed by a local declaration. 尝试重命名前缀或局部声明。

我把问题写在了getx里,但是他们没看懂问题

如果您能在 github 上查看我的问题,我将不胜感激。 İ问题 link:text

如果您能在 github 上查看我的问题,我将不胜感激。 İ问题 link:text

您的问题出在 getOrderBookData

的声明中

而不是

getOrderBookData(coinOne.value, coinTwo.value) async {
  ...

你应该

getOrderBookData() async {
  ...
  //Do stuff with coinOne.value, coinTwo.value
  ...

getOrderBookData(String firstCoin, String secondCoin) async {
  coinOne.value = firstCoin;
  coinTwo.value = secondCoin;
...

编辑
在 GetX 的 Github 上看到你的 post,你似乎缺少对函数和方法如何工作的一些基本理解。
您编写的代码等效于以下方法签名:

getOrderBookData("aValue", "anotherValue") async {

而且没有任何意义。

您的方法签名应仅声明它期望的参数及其类型。
如果需要,您还可以为这些参数定义默认值。

getOrderBookData({String firstCoin = coinOne.value, String secondCoin = coinTwo.value}) async {

在函数声明中,您只需说明它是什么类型,而不是实际值

所以要么

getOrderbookData(String one, String two) async {
  var res = await api.fetchOrderBookData(one, two);
  purchase.value = res.result!.buy!;
  sales.value = res.result!.sell!;
}

或将其硬编码为始终使用 coinOne 和 coinTwo 并且不提供任何参数

getOrderbookData() async {
  var res = await api.fetchOrderBookData(coinOne.value, coinTwo.value);
  purchase.value = res.result!.buy!;
  sales.value = res.result!.sell!;
}

进行这些更改,错误就会消失。 首先,对您的 getOrderBookData 方法做一个小改动:

void getOrderBookData() async {...}  // Don't pass any parameter here.

然后也对您的 onInit 方法进行更改。

@override
void onInit() {
  getOrderBookData();
  super.onInit();
}