gpt4 book ai didi

dart - 角度变化。 Dart 变化检测方法

转载 作者:行者123 更新时间:2023-12-03 02:58:24 26 4
gpt4 key购买 nike

我有一个定义的 Controller :

  • 一些属性可以控制我的ui看起来像
  • 可以调用以更改这些属性的方法

  • 我也有一条指令,它接收 Controller 的方法作为参数,以便能够调用它。

    在angular.dart v0.9.9之后。不再检测到 Controller 属性的任何变化。由于我仅通过 Controller 的属性隐式使用范围,因此我不确定是否/应该使用“scope.context”,在angular.dart 0.9.9的“重大更改”部分中已提到。

    我怎样才能解决这个问题?

    [更新]

    下面是一些代码:

    index.html

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
    <title>test</title>
    </head>
    <body ng-cloak ng-controller="app-ctrl">
    <div>selections: {{ ctrl.selections }}</div>
    <div class="test-click" whenclicked="ctrl.goRight()">click</div>
    <script type="application/dart" src="/test/web/main.dart"></script>
    <script src="packages/browser/dart.js"></script>
    </body>
    </html>

    主镖

    library test;
    import 'package:angular/angular.dart';
    import '../lib/src/app_ctrl.dart';
    import '../lib/src/click_dir.dart';
    void main() {
    ngBootstrap(module: new TestModule());
    }
    class TestModule extends Module {
    TestModule() {
    type(AppCtrl);
    type(TestClickDir);
    }
    }

    app_ctrl.dart

    library app;
    import 'package:angular/angular.dart';
    /** AppCtrl */
    @NgController(selector: '[ng-controller=app-ctrl]', publishAs: 'ctrl')
    class AppCtrl {
    List selections;
    AppCtrl() {
    selections = ['a','a'];
    }
    void goRight() {
    selections.add('a');
    }
    }

    click_dir.dart

    library clickable;
    import 'package:angular/angular.dart';
    import 'dart:html';
    /** TestClickDir */
    @NgDirective(selector: '.test-click', map: const {
    'whenclicked': '&click'
    })
    class TestClickDir implements NgAttachAware {
    Function click;
    Element self;
    TestClickDir(Element el) {
    self = el;
    }
    void attach() {
    self.onClick.listen((e) => click());
    }
    }

    最佳答案

    我想这是由于优化,因为观看收藏很昂贵。虽然也可能是一个错误。

    我想您仅将此用于调试目的?
    使用以下方法可以轻松实现稍微不同的结果:

    {{ ctrl.selections | json }} // prints: ["a","a","a","a","a","a","a"]

    刚刚发现这更好

    {{ ctrl.selections.toString() }} // prints: [a, a, a, a, a, a, a]

    关于dart - 角度变化。 Dart 变化检测方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22421300/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com