小编Ale*_*uin的帖子

extends Object with Observable和extends Observable有什么区别

使用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)

dart

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

如何优化AngularDart应用程序的js大小?

我已经阅读角度教程的生产部署章节,该教程指出了几种优化JS输出大小的方法.

我还看到了一个名为feat(变形金刚)的提交:将角度变换器添加到pub以进行无镜像代码生成.在这个提交中,我们可以看到使用新的角度变换器.

  1. 这个新的变换器是否会使Angular教程的建议过时?
  2. 优化过程是否就像向pubspec.yaml添加单个转换器一样简单?

dart angular-dart

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

颤振单元测试失败

我试图在 Flutter 中进行单元测试。

\n\n

依赖项中pubspec.yaml包含:

\n\n

test: any

\n\n

运行flutter analyze没有显示任何警告。

\n\n

在我的项目中创建了一个unit_test.dart文件test夹:

\n\n
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}\n
Run Code Online (Sandbox Code Playgroud)\n\n

运行flutter test显示以下错误:

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

unit-testing dart flutter

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

如何通知子树中发生了重绘?

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)

flutter

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

如何引用当前选择器,就像在dart中的jquery的$(this)中一样

达特使用 query('#selector')

如果我想获得对结果的引用,那么我可以对所选项目做一些事情,什么是dart等价物.我试过query(this)但是

dart

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

停止执行Dart程序,直到按下某个键

有没有办法在按下某个键之前停止执行Dart进程?

这将是这样的:

  • 在html文件中:
<input id="nextstep" type="button" value="nextstep" />
Run Code Online (Sandbox Code Playgroud)
  • 在dart文件中:
void main() { 
  while(true) {
    // Do something here to pause the loop 
    // until the nextstep button is pressed
  } 
}
Run Code Online (Sandbox Code Playgroud)

dart

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

使用嵌套的ng-repeat意味着"观察者反应函数不应该改变模型"是什么意思?

这是代码的简化版本,即使生成的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)

dart angular-dart

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

如何让WebComponent类调用我的自定义构造函数?

我创建了一个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"字符串输出,但事实并非如此.构造函数是否以这种方式被忽略,或者我错过了什么?

dart dart-webui

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

Dart 成员函数相等规则

我正在尝试测试类的成员函数的相等性。这是一个小样本:

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?

equality function member dart

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

如何|| =除非包含?各色?

以下2行之间有什么区别?

# settings and globals are Hash
@settings[:xvfb] = globals[:xvfb] unless settings.include?(:xvfb)
@settings[:xvfb] ||= globals[:xvfb]
Run Code Online (Sandbox Code Playgroud)

它们是等价的吗?

ruby

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