如何从对象中获取 values/data
How get values/data from object
我正在尝试从我之前填充的对象中获取值。
代码 - 这是我的对象 class:
class ProductObject extends Object{
String _entries;
ProductObject(
this._entries,
);
}
现在我正尝试在我的代码中填充该对象。
代码——这里我填对象:
return GestureDetector(
onTap: () {
ProductObject productObject = ProductObject(
'Any Data',
);
print('newProductObejct: ' + productObject._image.toString());
Navigator.push(context, MaterialPageRoute(builder: (context) => ProductDetail(productObject)));
},
代码 'productObject._entries.toString()' 有效。
我可以从对象中获取数据。
但是如果我将对象传递给另一个显示器
我无法获取对象数据。
代码 - 这是我的第二页:
class ProductDetail extends StatefulWidget {
var _product_data;
ProductDetail(this._product_data,{Key? key}) : super(key: key);
@override
_ProductDetail createState() => _ProductDetail (_product_data);
}
class _ProductDetail extends State<ProductDetail > {
var _product_data;
_ProductDetail(this._product_data);
@override
Widget build(BuildContext context) {
return Scaffold(
body:
GestureDetector(
onTap: (){
print('newProductObejct: ' + _product_data._image.toString());
},child: Text('text'),),
);
}
}
在第二页我收到一个错误。
像这样:
- 调度指针事件时抛出以下 _TypeError:
type 'Null' is not a subtype of type 'String' of 'function result'
如何将对象数据传递到另一个页面并在那里调用它们?
您不需要 _ProductDetail
状态 class 中的构造函数。您可以像这样从状态 class 简单地访问成员 _product_data
:
widget._product_data
我正在尝试从我之前填充的对象中获取值。
代码 - 这是我的对象 class:
class ProductObject extends Object{
String _entries;
ProductObject(
this._entries,
);
}
现在我正尝试在我的代码中填充该对象。 代码——这里我填对象:
return GestureDetector(
onTap: () {
ProductObject productObject = ProductObject(
'Any Data',
);
print('newProductObejct: ' + productObject._image.toString());
Navigator.push(context, MaterialPageRoute(builder: (context) => ProductDetail(productObject)));
},
代码 'productObject._entries.toString()' 有效。 我可以从对象中获取数据。
但是如果我将对象传递给另一个显示器 我无法获取对象数据。 代码 - 这是我的第二页:
class ProductDetail extends StatefulWidget {
var _product_data;
ProductDetail(this._product_data,{Key? key}) : super(key: key);
@override
_ProductDetail createState() => _ProductDetail (_product_data);
}
class _ProductDetail extends State<ProductDetail > {
var _product_data;
_ProductDetail(this._product_data);
@override
Widget build(BuildContext context) {
return Scaffold(
body:
GestureDetector(
onTap: (){
print('newProductObejct: ' + _product_data._image.toString());
},child: Text('text'),),
);
}
}
在第二页我收到一个错误。 像这样:
- 调度指针事件时抛出以下 _TypeError:
type 'Null' is not a subtype of type 'String' of 'function result'
如何将对象数据传递到另一个页面并在那里调用它们?
您不需要 _ProductDetail
状态 class 中的构造函数。您可以像这样从状态 class 简单地访问成员 _product_data
:
widget._product_data