在深入研究我的应用程序的功能之前,我试图使我的颤振架构尽可能好。我已经基于 ChangeNotifierProvider 制作了一个带有 firebase 身份验证的应用程序:
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.lightBlue,
),
home: Home(),
);
}
}
class Home extends StatelessWidget {
@override
Widget build(BuildContext context) {
return ChangeNotifierProvider(
builder: (_) => AuthentService.instance(),
child: Consumer(builder: (context, AuthentService authentService, _) {
switch (authentService.status) {
case Status.Authenticated:
return DashboardScreen();
default:
return LoginScreen();
}
}),
);
}
}
Run Code Online (Sandbox Code Playgroud)
此 Home 小部件正在侦听身份验证状态,并在登录或未登录时返回任何 …
routing android firebase-authentication flutter flutter-change-notifier
我遇到了自定义标签的问题.
这是问题所在.我创建了一个在我的JSF页面中使用的标记:
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:t="http://myfaces.apache.org/tomahawk"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:c="http://java.sun.com/jstl/core">
... some stuff ...
<h:inputText id="#{id}" value="#{value}" binding="#{binding}" label="#{label}"/>
... some stuff ...
</ui:composition>
Run Code Online (Sandbox Code Playgroud)
我希望以这种方式在我的页面中使用此组件(我的组件名为gp:inputText):
<gp:inputText value="#{myBean.myValue}" id="myId" label="myLabel" binding="#{myBean.myUiComponent}" />
Run Code Online (Sandbox Code Playgroud)
但我也想使用相同的组件,但没有绑定inputText.我怎样才能做到这一点?我试图只使用我的组件而不指定绑定但它不起作用.例如,绑定值似乎不能像标签值那样为空.
谢谢您的帮助 !