Pra*_*tik 3 private-class dart flutter
我创建了一个有很多部分的小部件。因此,在一个文件中创建此小部件并不是一种好的做法。因此,我重新排列了许多文件。我将这些小部件(部分)设为私有,这样就无法在其他文件中访问它们。我只想在根小部件中访问这些小部件。(或者可以在其目录文件中访问私有类)我该怎么做?
// homepage/homepage.dart
import 'package:flutter/material.dart';
class Homepage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Container(
child: Column(
children: [
_Part1(),
_Part2(),
],
),
);
}
}
Run Code Online (Sandbox Code Playgroud)
// homepage/part1.dart
import 'package:flutter/material.dart';
class _Part1 extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Container(
);
}
}
Run Code Online (Sandbox Code Playgroud)
// homepage/part2.dart
import 'package:flutter/material.dart';
class _Part2 extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Container(
);
}
}
Run Code Online (Sandbox Code Playgroud)
Dart 具有part文件功能。虽然这不是我想象的用途,但它在这里也有效。只需这样做:
// homepage/homepage.dart
import 'package:flutter/material.dart';
part 'part1.dart';
part 'part2.dart';
class Homepage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Container(
child: Column(
children: [
_Part1(),
_Part2(),
],
),
);
}
}
Run Code Online (Sandbox Code Playgroud)
// homepage/part1.dart
part of 'homepage.dart';
class _Part1 extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Container(
);
}
}
Run Code Online (Sandbox Code Playgroud)
// homepage/part2.dart
part of 'homepage.dart';
class _Part2 extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Container(
);
}
}
Run Code Online (Sandbox Code Playgroud)
部分文件基本上是引用文件的一部分,因此它可以访问引用文件中的所有内容,反之亦然。如果您需要导入任何内容,则必须将它们导入到引用的文件中,因为part文件是从引用的文件中导入的。import 'package:flutter/material.dart';因此,您会注意到文件中没有part。
| 归档时间: |
|
| 查看次数: |
3514 次 |
| 最近记录: |