在 vanilla JS 中可以通过以下方式创建 Web 组件:
\nextends HTMLElementwindow.customElements.define(\'app-drawer\', AppDrawer);\nRun Code Online (Sandbox Code Playgroud)\n由于我在 Dart 中有很多代码,我想我可以用它来做到这一点。但我遇到了一些障碍。主要是已被弃用且似乎不起作用的事实document.registerElement()window.customElements.define()。
\n\nI mostly use Microsoft Edge as a browser. But it uses Chromium anyway. And I\'ve also tested everything mentioned below on Chrome as well.
\n
document.registerElement()G\xc3\xbcnter\'s answer points to this dartpad, which uses the document.registerElement() …
我正在开发一个 Flutter 应用程序,它使用 Textfield.
我声明TextField如下:
new TextField(
controller : _controller,
decoration : new InputDecoration(
hintText: 'Message...'
)
)
Run Code Online (Sandbox Code Playgroud)
该TextField显示在我的窗口小部件,但是当我在上面敲击时,键盘会自动关闭,以下错误出现在控制台
E/SpannableStringBuilder(17860): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
Run Code Online (Sandbox Code Playgroud)
我在 Android(三星 Galaxy Grand Prime,Android 5.1)上使用 IntelliJ 中的 Flutter 插件运行它。
我怎么能解决这个问题?
编辑:正如在这个答案中看到的(Android - SPAN_EXCLUSIVE_EXCLUSIVE 跨度不能为零长度),我试过切换键盘(谷歌和三星),仍然相同
我尝试使用 packagecoverage从我的 Angular Dart 4.0 项目中获取代码覆盖率。
以下步骤是我的工作流程:
pub serve test --port=8081pub run test --pub-serve=8081 --pause-after-loadpub global run coverage:collect_coverage --port=12345 -o coverage.jsonpub global run coverage:format_coverage --packages=.packages-c -i coverage.json -o coverage.report在第5步之后,我会得到一个coverage.json包含一些数据的文件,但我不知道为什么覆盖率报告总是显示每个代码都没有覆盖。
我是否使用错误的流程来获取代码覆盖率?或者有什么更好的方法来做到这一点?
谢谢 !
有我的实验代码:
experiment_component.dart:
import 'package:angular/angular.dart';
@Component(
selector: 'experiment_component',
template: '<h1>{{greeting}}</h1>'
)
class ExperimentComponent {
String greeting = '';
void greet() {
greeting = 'Hello';
}
}
Run Code Online (Sandbox Code Playgroud)
experiment_component_test.dart:
@TestOn('browser') …Run Code Online (Sandbox Code Playgroud) 到目前为止,我的BottomNavigationBar看起来还不错(而且很简单),但是,考虑到我里面只有 2 个项目,我想让它们靠近一点(也许在右边),这样它们更容易到达。我怎么做?是否有房产可以完成这项工作?也许在BottomNavigationBar主题里面?
这是现在的样子:
bottomNavigationBar: BottomNavigationBar(
items: <BottomNavigationBarItem>[
BottomNavigationBarItem(
icon: Icon(Icons.account_circle),
title: Text('Personal Data'),
),
BottomNavigationBarItem(
icon: Icon(Icons.payment),
title: Text('Contracts'),
),
],
currentIndex: _selectedIndex,
selectedItemColor: Colors.orange,
onTap: _onItemTapped,
),
Run Code Online (Sandbox Code Playgroud) 我正在尝试通过 TypeScript 从网站 \xe2\x80\x94随机 OGS 示例\xe2\x80\x94 访问全局变量,以便从当前棋盘游戏获取数据。
\n我对 TS 还很陌生,所以我也不确定如何输入这个变量。全局变量本身实际上最初是在 TS 中创建的,但它具有无数的方法和属性,因为有如此多的功能。因此,如果我要自己输入它,我宁愿只输入我需要的内容(如果可能的话),或者以某种方式从某个包中导入它 \xe2\x80\x94 我不认为作者已在任何地方公开发表。
\n与此同时,还有一个问题是全局变量是否默认可用于浏览器扩展,但情况可能并非如此。
\n所以,我一直在尝试(我已经尝试了一百万种其他变体......)做的是类似 * \xe2\x80\x94 inside 的事情content.ts,它在OGS域 \xe2\x80\内部运行x94:
interface Goban {\n bounded_height: number;\n}\n\ndeclare var goban: Goban;\n\ngoban = window["global_goban"];\n\nconsole.log(goban.bounded_height.toString());\nRun Code Online (Sandbox Code Playgroud)\n我通常得到的错误是:
\nUncaught ReferenceError: goban is not defined\nRun Code Online (Sandbox Code Playgroud)\n那么我错过了什么?我必须创建声明文件 ( .d.ts) 吗?处理这种从第三方代码导入全局变量的正确方法是什么?
*:根据您尝试处理对象的方式window,您可能必须添加"suppressImplicitAnyIndexErrors": true到您的对象中tsconfig.json,以便 TS 不会静态地抱怨。
在 win10 的 Linux 终端中设置 docker 后我遇到了问题。当我尝试构建时,它显示以下错误。
/usr/bin/env: ‘bash\r’: No such file or directory
ERROR: Service 'magento2' failed to build: The command '/bin/sh -c /opt/docker/bin/service.d/autosync.sh install && docker-service-enable autosync' returned a non-zero code: 127
Run Code Online (Sandbox Code Playgroud)
它是 git line 结束错误,我该如何解决?
git newline core.autocrlf docker windows-subsystem-for-linux
我在尝试安装时收到以下错误express:
npm ERR! code ERR_OSSL_PEM_NO_START_LINEnpm ERR! errno ERR_OSSL_PEM_NO_START_LINEnpm ERR! request to https://registry.npmjs.org/express failed, reason: error:0909006C:PEM routines:get_name:no start line在 a 中TextFormField,您可以使用 来请求焦点FocusScope.of(context).requestFocus(_focusNode)。然而,如何确保同一个焦点节点一直处于未聚焦状态呢?
例如,在我的工作流程中,我希望hintText最初为 X,聚焦时为 Y,未聚焦时返回 X。但是,如果我使用如下所示的常用内容,我将无法返回到 X。
class TextFormFieldErrorOnLabel extends StatefulWidget {
final String hintText;
final String hintTextOnFocus;
const NewTextFormField({
this.hintText,
this.hintTextOnFocus,
}) : super(key: key);
@override
_NewTextFormFieldState createState() => _NewTextFormFieldState();
}
class _NewTextFormFieldState {
final FocusNode _focusNode = FocusNode();
void _requestFocus() {
setState(() {
FocusScope.of(context).requestFocus(_focusNode);
});
}
@override
Widget build(BuildContext context) {
return TextFormField(
onTap: _requestFocus,
focusNode: _focusNode,
decoration: InputDecoration(
hintText: _focusNode.hasFocus ? widget.hintTextOnFocus : widget.hintText,
)
);
}
}
Run Code Online (Sandbox Code Playgroud)
requestUnfocus …
这最初是Dart-Code 存储库中的Github 问题。
我一直在研究一个包含数百个测试的包,因此一种可视化代码覆盖率的简单方法将非常方便。
我想运行我的测试,比如说,一个.vscode带有lcov.info输出的配置,它会被 VS Code 自动识别,并在相应的编辑器上用红色或绿色突出显示。
在过去的几天里,我尝试了许多不同的解决方案——实际上是几个月——但没有一个像上面描述的那样理想:
flutter test --coverage --coverage-path=lcov.info确实可以生成必要的文件,但是必须通过 3rd 方程序(例如 )将其可视化很笨拙,genhtml如果您使用的是 Windows,则更是如此。
test_coverage软件包之后也是如此。
coverage和test_coverage封装提供了接近什么上述我,但他们的解决方案是这样笨重-和Windows上,他们是很难成立...code-coverage command-line-interface dart visual-studio-code flutter
我试图在打字时让文本适合一个圆圈,如下所示:
我尝试遵循Mike Bostock 的将文本调整为圆形教程,但到目前为止失败了,这是我可怜的尝试:
import React, { useEffect, useRef, useState } from "react";
export const TwoPI = 2 * Math.PI;
export function setupGridWidthHeightAndScale(
width: number,
height: number,
canvas: HTMLCanvasElement
) {
canvas.style.width = width + "px";
canvas.style.height = height + "px";
// Otherwise we get blurry lines
// Referenece: [Stack Overflow - Canvas drawings, like lines, are blurry](/sf/answers/4140044961/)
const scale = window.devicePixelRatio;
canvas.width = width * scale;
canvas.height = height * scale;
const canvasCtx = canvas.getContext("2d")!; …Run Code Online (Sandbox Code Playgroud) dart ×5
flutter ×4
javascript ×3
angular-dart ×2
html ×2
android ×1
docker ×1
express ×1
git ×1
html5-canvas ×1
newline ×1
npm ×1
npm-install ×1
reactjs ×1
svg ×1
testing ×1
textfield ×1
typescript ×1