小编mac*_*rix的帖子

如何从 html 页面调用 javascript 模块 (type=module) 中声明的函数

我正在努力使用 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"从标头中删除,一切正常,但是由于其他原因我需要使用模块,所以这不是一个好的解决方案。

我看过几篇文章说我需要导入/导出或使用窗口,但我不知道该怎么做。请问有人可以提供答案吗?理想情况下,实现它的最简单方法

请参阅下面对我审查过的一些问题的参考:

我的 javascript 模块中的函数未定义

从 HTML 调用 JavaScript 中的函数

如何使用 type=module 脚本中的代码[重复]

ES6 模块:导入后未定义 onclick 函数

编辑 我已尝试以下操作但仍然遇到相同的错误 在此输入图像描述 在此输入图像描述 在此输入图像描述

编辑2 答案中的代码正在运行。我只是尝试在本地运行,但我知道您需要一台服务器,因此如果您看到相同的错误,请将站点上传到服务器或使用本地服务器。

html javascript

20
推荐指数
1
解决办法
3万
查看次数

颤动设备选择未显示(目标选择器)

在我的 Flutter 项目之一中,我无法再看到用于选择设备的目标选择器 选择器未显示的图片 这很有趣,因为如果我打开另一个项目,选择器就在那里 显示选择器的图片 所以我的第一个项目一定有问题或者我需要调整设置......

有什么帮助吗?我怎样才能恢复我的设备选择器???

android-studio flutter

13
推荐指数
3
解决办法
6355
查看次数

如何更改 Flutter showTimePicker 小部件的颜色

我想更改 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)

我怎样才能实现它?

在此输入图像描述

flutter

11
推荐指数
3
解决办法
6629
查看次数

如何付款 意图在 Stripe 中向关联账户收费

我想创建一个 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 标头和我们支持的任何库来进行身份验证。

我会努力,看看怎么做

node.js stripe-payments

8
推荐指数
1
解决办法
3651
查看次数

我可以在 CupertinoTabBar 中停靠浮动操作按钮吗?

我想知道是否有办法在 CupertinoTabBar 中停靠浮动操作按钮。我想得到如下图所示的结果

在此处输入图片说明

我的屏幕组织如下

  • CupertinoTab 脚手架
    • 库比蒂诺标签视图
      • 库比蒂诺页脚手架
        • 库比蒂诺导航栏
        • 脚手架
    • 库比蒂诺标签栏

我尝试将以下代码添加到我的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)

这是我得到的结果......

在此处输入图片说明

scaffold cupertinotabbar flutter-cupertino

6
推荐指数
1
解决办法
2189
查看次数

在android中使用底部导航的最佳实践:activity与fragment

我来自 iOS,致力于将 iOS 应用程序移植到 Android 上。在 iOS 中,有一个故事板,您可以在其中连接不同的视图(活动)并将它们嵌入到选项卡栏和导航栏中。我有一个问题要了解在 android 中实现底部导航的最佳方法是什么......

假设我有 3 个底部导航项,其中包含以下内容

  1. 选项卡1

    • 第1.1页
      • 第1.2页
  2. 选项卡2

    • 第2.1页
      • 第2.2页
        • 第2.3页
  3. 选项卡3

    • 第3.1页
      • 第3.2页
        • 第3.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

5
推荐指数
1
解决办法
3871
查看次数

升级到 iOS 13.1 和 Xcode 11 后,Flutter 无法在 iPhone 上安装应用程序

今天我有一个好主意将我的 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 不起作用

我看过这个页面,我认为他们在谈论同样的问题,但我不确定我需要做什么来解决......

有没有专家可以建议怎么做??谢谢

flutter ios13 xcode11

5
推荐指数
1
解决办法
9051
查看次数

如何在flutter中设置Cupertino应用程序的textStyle

我有一个 CupertinoApp,我想TextStyle对我的应用程序的所有屏幕/对象应用自定义。例如,我会撒谎为所有文本小部件和对话框小部件设置一个字体系列,并在我的所有应用程序中使用该字体。我希望将它设置一次CupertinoThemeDataCupertinoTextThemeData但到目前为止我没有快乐。

注意:我可以为每个文本设置样式,但是我想设置一次

textstyle flutter flutter-cupertino

4
推荐指数
1
解决办法
2325
查看次数

为什么在 dart 中将两个 double 相乘会得到非常奇怪的数字

谁能解释为什么结果是 252.99999999999997 而不是 253?应该用什么来代替得到253?

\n\n
double 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

double int dart

4
推荐指数
1
解决办法
2174
查看次数

Flutter:键盘激活后如何去除键盘后面的白色背景

我有一个颤振应用程序,当我的 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)

ios flutter

3
推荐指数
2
解决办法
3551
查看次数

如何在 Flutter 中更改 CupertinoNavigationBar 中后退按钮的颜色

我想在我的 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)

提前谢谢了 !

flutter flutter-cupertino

2
推荐指数
1
解决办法
3056
查看次数

如何使用 CachedNetworkImage 小部件在颤动中缩放图像

你能建议一种在 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)

flutter

2
推荐指数
2
解决办法
4419
查看次数

如何获取从 Flutter 中的地图创建的 ListView 的索引

我有一个 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)

firebase flutter google-cloud-firestore

0
推荐指数
1
解决办法
4619
查看次数