我正在努力使用 javascript 模块......
我有一个 html 文件和一个 JS 模块。我在 javascript 文件中定义了一个函数,我想从 HTML 页面调用该函数。这是我的代码
索引.html
<html>
<head>
<script type="module" src="app.js"></script>
</head>
<body>
<button onclick="greetFromHtml();">greetFromHtml</button>
<button onclick="greetFromModule()"> greetFromModule</button>
<script type="text/javascript">
function greetFromHtml(){
alert('Hello');
}
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
应用程序.js
function greet(){
alert('Hello');
}
Run Code Online (Sandbox Code Playgroud)
greetFromHtml 按钮工作正常。当我单击greetFromModule按钮时,出现以下错误:hello is not defined at HTMLButtonElement.onclick
如果我type="module"
从标头中删除,一切正常,但是由于其他原因我需要使用模块,所以这不是一个好的解决方案。
我看过几篇文章说我需要导入/导出或使用窗口,但我不知道该怎么做。请问有人可以提供答案吗?理想情况下,实现它的最简单方法
请参阅下面对我审查过的一些问题的参考:
编辑2 答案中的代码正在运行。我只是尝试在本地运行,但我知道您需要一台服务器,因此如果您看到相同的错误,请将站点上传到服务器或使用本地服务器。
我想更改 showTimePicker 的颜色。这是我的代码
GestureDetector(
onTap: () {
Future<TimeOfDay> selectedTime =
showTimePicker(
initialTime: TimeOfDay.now(),
context: context,
// ignore: missing_return
).then((value) {
if (value != null) {
// do something
},
child: Image.asset(
pathToCollectionPhoto,
fit: BoxFit.cover,
),
),
Run Code Online (Sandbox Code Playgroud)
我怎样才能实现它?
我想创建一个 Stripe PaymentIntent,直接向关联账户收费
这是我写的
stripe.paymentIntents.create(
{
amount: 2000,
currency: 'gbp',
payment_method: 'pm_xxxx',
}, {
stripe_account: 'acct_1F2xxxxxxxxxx'
},
function(err, paymentIntent) {
// asynchronously called
// do something here
}
);
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么??
以下代码(没有连接的帐户)工作正常
stripe.paymentIntents.create(
{
amount: 2000,
currency: 'gbp',
payment_method: 'pm_xxxx',
},
function(err, paymentIntent) {
// asynchronously called
// do something here
}
);
Run Code Online (Sandbox Code Playgroud)
我怀疑这是罪魁祸首,因为控制台错误说明了 PaymentMethod ....
编辑:代码是正确的,我发现问题出在 Stripe 上,因为它们需要某种进一步的身份验证。来自条纹文档
如果您选择直接收费,则需要确保已连接的帐户已启用您打算使用的付款方式。直接收费需要在连接的帐户上创建 PaymentMethods....
如果您从服务器创建 PaymentMethods,您可以使用 Stripe-Account 标头和我们支持的任何库来进行身份验证。
我会努力,看看怎么做
我想知道是否有办法在 CupertinoTabBar 中停靠浮动操作按钮。我想得到如下图所示的结果
我的屏幕组织如下
我尝试将以下代码添加到我的Scaffold 中,但结果不是我想要的。我理解问题是 TabBar 不在脚手架内,因此它没有停靠但是我想知道是否有办法将浮动按钮放在其他地方以获得我想要的结果
这是代码
child: Scaffold(
floatingActionButtonLocation: FloatingActionButtonLocation.centerDocked,
floatingActionButton: FloatingActionButton.extended(
backgroundColor: kColorAccent,
onPressed: () {},
label: Text('To my Favorites!'),
icon: Icon(Icons.favorite),
),
Run Code Online (Sandbox Code Playgroud)
这是我得到的结果......
我来自 iOS,致力于将 iOS 应用程序移植到 Android 上。在 iOS 中,有一个故事板,您可以在其中连接不同的视图(活动)并将它们嵌入到选项卡栏和导航栏中。我有一个问题要了解在 android 中实现底部导航的最佳方法是什么......
假设我有 3 个底部导航项,其中包含以下内容
选项卡1
选项卡2
选项卡3
作为 tab1 中的示例,我有 page1.1。然后假设我在 page1.1 中有一个按钮,可以将我带到 page1.2。如果我从 page1.2 返回,我想返回 page1.1。page2.1 的情况相同,我可以转到 page2.2,从 page2.2 我可以转到 page2.3。我也想从第3.2页转到第1.2页
我读过片段是最好的方法(每个 page.x 都是成为具有不同布局的不同片段),但它似乎不是很容易。我还读过我可以使用活动,但许多人建议不要使用它
你建议我重点关注什么?除了片段和活动之外,还有其他解决方案需要考虑吗?谢谢
android fragment android-fragments android-activity bottomnavigationview
今天我有一个好主意将我的 iPhone 更新到 iOS 13 并将 Xcode 更新到版本 11 ......(为什么不去喝杯茶呢?!?)
所以现在我无法再在我的 iPhone 中安装我在 flutter 中开发的应用程序。这是日志
2019-09-27 14:10:46.945 ios-deploy[8xxx2:9xxx95] [ !! ] Error 0xe800007f: Device doesn't support wireless sync. AMDeviceStartService(device, CFSTR("com.apple.debugserver"), &gdbfd, NULL)
Could not install build/ios/iphoneos/Runner.app on f7xxx37xxxxb5299ef.
Try launching Xcode and selecting "Product > Run" to fix the problem:
open ios/Runner.xcworkspace
Error launching application on xxx's iPhone.
Run Code Online (Sandbox Code Playgroud)
如果我使用 Xcode 运行该应用程序,它可以正常工作,但 flutter 不起作用
我看过这个页面,我认为他们在谈论同样的问题,但我不确定我需要做什么来解决......
有没有专家可以建议怎么做??谢谢
我有一个 CupertinoApp,我想TextStyle
对我的应用程序的所有屏幕/对象应用自定义。例如,我会撒谎为所有文本小部件和对话框小部件设置一个字体系列,并在我的所有应用程序中使用该字体。我希望将它设置一次CupertinoThemeData
或CupertinoTextThemeData
但到目前为止我没有快乐。
注意:我可以为每个文本设置样式,但是我想设置一次
谁能解释为什么结果是 252.99999999999997 而不是 253?应该用什么来代替得到253?
\n\ndouble x = 2.11;\ndouble y = 0.42;\nprint(((x + y) * 100)); // print 252.99999999999997\n
Run Code Online (Sandbox Code Playgroud)\n\n我基本上试图将小数点后 2 位的货币值(即 \xc2\xa32.11)转换为便士/分(即 211p)\n谢谢
\n我有一个颤振应用程序,当我的 iPhone 中的键盘被激活时,我确实遇到了一个奇怪的行为。正如你从下面的图片中看到的,当键盘弹出时,它出现在键盘下方的白色背景......有谁知道如何设置背景颜色???
编辑:感谢您的建议使用resizeToAvoidBottomPadding
。该命令已弃用,我已替换为resizeToAvoidBottomInset: false
. 这已经解决了这个问题(是的!),键盘下没有更多的白色背景,但它创造了另一个奇怪的效果。键盘上方现在有一个深蓝色条。检查下一张图片...我已经设置了橙色背景颜色,以便您可以更好地看到它。您还可以看到浮动按钮向上移动,这意味着深蓝色条现在位于键盘和脚手架之间。你知道我怎样才能摆脱那个酒吧吗?这似乎比白色背景更糟糕,因为它占用了宝贵的屏幕空间。
作为参考,脚手架嵌套在 CupertinoTabScaffold 中
这是我的代码中最相关的部分
void main() async {
Crashlytics.instance.enableInDevMode = true;
FlutterError.onError = Crashlytics.instance.recordFlutterError;
runApp(ChangeNotifierProvider<Data>(
builder: (context) => Data(),
child: new CupertinoApp(
theme: CupertinoThemeData(
barBackgroundColor: kColorPrimary,
primaryColor:
kColorText,
textTheme: CupertinoTextThemeData(
primaryColor:
kColorText,
navLargeTitleTextStyle: TextStyle(
fontWeight: FontWeight.bold, fontSize: 70.0, color: kColorText),
),
),
home: new CheckIfFirstTime(),
),
));
}
class CheckIfFirstTime extends StatefulWidget {
@override
_CheckIfFirstTimeState createState() => _CheckIfFirstTimeState();
}
class _CheckIfFirstTimeState extends State<CheckIfFirstTime> {
Future checkFirstSeen() async {
SharedPreferences …
Run Code Online (Sandbox Code Playgroud) 我想在我的 flutter 应用程序中更改后退按钮的颜色。
这是我目前所拥有的:屏幕截图
我想将颜色从浅蓝色更改为白色。我在网上搜索过,但一无所获。这是我的代码(注意我的按钮是自动创建的)
@override
Widget build(BuildContext context) {
return CupertinoPageScaffold(
navigationBar: CupertinoNavigationBar(
heroTag: 'menupage',
transitionBetweenRoutes: false,
middle: Text(
'Menu Page',
style: kSendButtonTextStyle,
),
),
Run Code Online (Sandbox Code Playgroud)
提前谢谢了 !
你能建议一种在 a 内放大图像的方法CachedNetworkImage
吗?
这是我的代码
CachedNetworkImage(
imageUrl: "http://via.placeholder.com/350x150",
placeholder: (context, url) => CircularProgressIndicator(),
errorWidget: (context, url, error) => Icon(Icons.error),
),
Run Code Online (Sandbox Code Playgroud)
我试图将 CachedNetworkImage 包装在 photo_view 小部件中,但它不起作用
@override
Widget build(BuildContext context) {
return Container(
child: PhotoView(
imageProvider: CachedNetworkImage(
imageUrl: "http://via.placeholder.com/350x150",
placeholder: (context, url) => CircularProgressIndicator(),
errorWidget: (context, url, error) => Icon(Icons.error),
)
)
);
}
Run Code Online (Sandbox Code Playgroud) 我有一个 ListView,它从 firebase 集合中获取数据。当我单击某个项目时,我想打印索引。例如,如果我单击列表的第二项,我想打印 1。我已搜索但没有找到识别 .map 内索引的解决方案。
这是我的代码
class ItemListBottomScroll extends StatelessWidget {
@override
Widget build(BuildContext context) {
return StreamBuilder<QuerySnapshot>(
stream: _firestore
.collection('books')
.snapshots(),
builder: (BuildContext context, AsyncSnapshot<QuerySnapshot> snapshot) {
if (snapshot.hasError) return new Text('Error: ${snapshot.error}');
switch (snapshot.connectionState) {
case ConnectionState.waiting:
return new Text('Loading...');
default:
return new ListView(
scrollDirection: Axis.horizontal,
children:
snapshot.data.documents.map((DocumentSnapshot document) {
return Stack(
children: <Widget>[
Container(
height: 80.0,
width: 90.0,
padding: EdgeInsets.only(left: 10.0),
child: GestureDetector(
onTap: () {
print(document['name'] +
document.documentID +
' bottom clicked.');
print('Index of …
Run Code Online (Sandbox Code Playgroud)