使用Observable扩展Object和扩展Observable有什么不同,适用于下面的类.
运行应用程序时的结果相同.
library models;
import 'package:polymer/polymer.dart';
class Person extends Object with Observable {
@observable String name;
@observable bool signedAgreement = false;
Person();
Person.from(Person other) {
name = other.name;
signedAgreement = other.signedAgreement;
}
blank() {
name = '';
signedAgreement = false;
}
}
library models;
import 'package:polymer/polymer.dart';
class Person extends Observable {
@observable String name;
@observable bool signedAgreement = false;
Person();
Person.from(Person other) {
name = other.name;
signedAgreement = other.signedAgreement;
}
blank() {
name = '';
signedAgreement = false;
}
}
Run Code Online (Sandbox Code Playgroud) 我已经阅读了角度教程的生产部署章节,该教程指出了几种优化JS输出大小的方法.
我还看到了一个名为feat(变形金刚)的提交:将角度变换器添加到pub以进行无镜像代码生成.在这个提交中,我们可以看到使用新的角度变换器.
我试图在 Flutter 中进行单元测试。
\n\n依赖项中pubspec.yaml包含:
test: any
运行flutter analyze没有显示任何警告。
在我的项目中创建了一个unit_test.dart文件test夹:
import \'package:test/test.dart\';\n\nvoid main()\n{\n test(\'this is a test\', (){\n expect(42, equals(42));\n //expect(42,42);\n });\n}\nRun Code Online (Sandbox Code Playgroud)\n\n运行flutter test显示以下错误:
\xe2\x9e\x9c HelloFlutter flutter test test/unit_test.dart\n00:00 +0: loading /home/tr/programs/HelloFlutter/test/unit_test.dart 00:00 +0 -1: loading /home/tr/programs/HelloFlutter/test/unit_test.dart 00:00 +0 -1: loading /home/tr/programs/HelloFlutter/test/unit_test.dart \n Failed to load "/home/tr/programs/HelloFlutter/test/unit_test.dart": Failed assertion: boolean expression must not be null\n package:test test\n test/unit_test.dart 6:2 main\n dart:async _StreamController.add\n websocket_impl.dart 1111 …Run Code Online (Sandbox Code Playgroud) ui.Image每次重新绘制小部件或其子项时,我都需要拍摄小部件的快照(以生成)。
为了拍摄小部件的快照,我使用了 a RepaintBoundary,它使用一种方法正确生成了图像_captureImage。
如何通知我子树中发生了重绘,以便_captureImage仅在需要时(即每次子树的视觉表示发生变化时)调用?
这是我当前小部件的简化版本。
class AutoSnapshotWidget extends StatefulWidget {
const AutoSnapshotWidget({
Key? key,
required this.child,
required this.onChange,
}) : super(key: key);
final Widget child;
final void Function(ui.Image) onChange;
@override
State<AutoSnapshotWidget> createState() => _AutoSnapshotWidgetState();
}
class _AutoSnapshotWidgetState extends State<AutoSnapshotWidget> {
final _key = GlobalKey();
// *****************************************************************
// How to make this function called every time the child is repaint?
// *****************************************************************
void _captureImage() async {
final buildContext = _key.currentContext! as SingleChildRenderObjectElement;
final boundary …Run Code Online (Sandbox Code Playgroud) 达特使用 query('#selector')
如果我想获得对结果的引用,那么我可以对所选项目做一些事情,什么是dart等价物.我试过query(this)但是
有没有办法在按下某个键之前停止执行Dart进程?
这将是这样的:
<input id="nextstep" type="button" value="nextstep" />
Run Code Online (Sandbox Code Playgroud)
void main() {
while(true) {
// Do something here to pause the loop
// until the nextstep button is pressed
}
}
Run Code Online (Sandbox Code Playgroud) 这是代码的简化版本,即使生成的HTML看起来很好,我也会记录错误.这个例外是什么意思?我为什么要这个?
index.html:
<!DOCTYPE html>
<div ng-app main>
<div ng-repeat="a in ctrl.listOfA">
<strong>{{ a }}</strong>
<div ng-repeat="b in ctrl.listOfB(a)">
{{ b }}
</div>
</div>
</div>
<script type="application/dart" src="main.dart"></script>
<script src="packages/browser/dart.js"></script>
Run Code Online (Sandbox Code Playgroud)
main.dart:
import 'package:angular/angular.dart'; /* 0.9.10 */
@NgController(selector: '[main]', publishAs: 'ctrl')
class MainController {
final listOfA = new List.generate(2, (i) => 'a$i');
listOfB(a) => new List.generate(2, (i) => 'b$i').map((e) => '$a-$e');
}
void main() {
ngBootstrap(module: new Module()
..type(MainController)
);
}
Run Code Online (Sandbox Code Playgroud)
记录的错误:
Observer reaction functions should not change model.
These …Run Code Online (Sandbox Code Playgroud) 我创建了一个WebComponent,我为它创建了一个构造函数.运行时,似乎没有调用此构造函数,尽管其余组件可以工作,但它们必须在我的自定义构造函数之外创建.这是我正在谈论的一个例子.
<element name="x-navigation" constructor="Navigation" extends="div">
<template>
<div>{{items}}</div>
</template>
<script type="application/dart">
import 'package:web_ui/web_ui.dart';
class Navigation extends WebComponent {
List<String> items = new List<String>();
Navigation() {
items.add("Hello");
}
}
</script>
<element>
Run Code Online (Sandbox Code Playgroud)
如果我包含这个组件,输出将是一个空列表,就像我创建的构造函数没有被调用一样.至少应该有"Hello"字符串输出,但事实并非如此.构造函数是否以这种方式被忽略,或者我错过了什么?
我正在尝试测试类的成员函数的相等性。这是一个小样本:
void main() {
var foo = new Foo();
if (foo.someFunc == foo.someFunc)
print("foo.someFunc == foo.someFunc");
else
print("foo.someFunc != foo.someFunc");
}
class Foo {
someFunc() {
}
}
Run Code Online (Sandbox Code Playgroud)
这将打印“foo.someFunc!= foo.someFunc”。这里的相等运算符应该测试这些函数是否是内存中的同一对象(看起来它们应该是。)我也尝试使用相同的(foo.someFunc,foo.someFunc),但得到了相同的结果。为什么在这种情况下相等运算符不返回 true?
以下2行之间有什么区别?
# settings and globals are Hash
@settings[:xvfb] = globals[:xvfb] unless settings.include?(:xvfb)
@settings[:xvfb] ||= globals[:xvfb]
Run Code Online (Sandbox Code Playgroud)
它们是等价的吗?
dart ×8
angular-dart ×2
flutter ×2
dart-webui ×1
equality ×1
function ×1
member ×1
ruby ×1
unit-testing ×1