到目前为止,下面的代码工作正常,
class Controller extends GetxController{
var count = 0.obs;
increment() => count++;
}
但是当我分配一个值时,它不会按预期工作,而不是类型转换的事件。
class Controller extends GetxController{
var count = 0.obs;
reset() => count = 10;
}
我想知道如何在 get x obs 对象中赋值(使用 '=' )?
答案 0 :(得分:5)
0.obs
返回类型 RxInt
。当您对此对象调用 ++
时,它正在调用 +
对象上的 RxInt
运算符,然后可以返回一个新的 RxInt
实例。
当您执行 count = 10
时,您实际上是在说您希望 count
被类型为 10
而不是 int
的 RxInt
覆盖。< /p>
您需要执行以下操作来告诉 Dart 您要将 count
分配给 RxInt
对象:
class Controller extends GetxController{
var count = 0.obs;
reset() => count = RxInt(10);
}