在 Angular Dart 组件中填充派生字段

2023-12-08

我有一个采用单个属性的组件。我想用从此属性派生的值填充组件中的字段。我遇到的问题是,当构造函数内的代码运行时,与属性的绑定尚未发生。那么,如何设置派生字段的值呢?

这是一些代码:

import 'package:angular/angular.dart';

@NgComponent(
    selector: 'tokens',
    templateUrl: './component.html',
    cssUrl: './component.css',
    publishAs: 'ctrl',
    map: const {
      'text' : '@text'
    }
)
class TokensComponent {
  String text;

  // Derived field.
  List<Token> tokens = new List<Token>();

  TokensComponent() {
    print('inside constructor, text = $text'); // $text is null.
  }

}

class Token {
  String char;
  bool important;
  Token(this.char, this.important);
}

一种可能的解决方案是使用组件实现NgAttachAware并定义attach()方法。然后可以在里面设置派生字段的值attach()。我不知道是否有更惯用的方法来做到这一点,但使用attach()似乎有效。

这是代码:

import 'package:angular/angular.dart';

@NgComponent(
    selector: 'tokens',
    templateUrl: './component.html',
    cssUrl: './component.css',
    publishAs: 'ctrl',
    map: const {
      'text' : '@text'
    }
)
class TokensComponent implements NgAttachAware {
  String text;

  // Derived field.
  List<Token> tokens = new List<Token>();

  TokensComponent() {
    print('inside constructor, text = $text');
  }

  void attach() {
    print('inside attach(), text = $text'); // $text is no longer null.
    text.split('').forEach((char) => tokens.add(new Token(char, false)));
  }
}

class Token {
  String char;
  bool important;
  Token(this.char, this.important);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Angular Dart 组件中填充派生字段 的相关文章

  • Angularjs-ui bootstrap.tabs - 添加下一个选项卡按钮

    我正在使用模式来显示一系列选项卡 div class modal fade hide modal creator div class modal header h3 Create New Gallery h3 div div class m
  • 将 jquery Ui.ressized() 与 AngularJs 一起使用

    我的模板之一中有一个 DOM 元素 我想使用 jqueryUi 调整其大小 总而言之 我有一个 div 我的模板中名为 test 的元素 除此之外 我还尝试添加脚本来实际在多个位置调整大小 但我已经完全扭转了局面 我一度认为指令可能是正确的
  • HTML css 表未对齐列

    我尝试在 AngularJS 中创建一个带有粘性页眉和页脚的表格 我已经成功做到了 这是一个笨蛋演示 https plnkr co edit NJenZui4atfdbdrjYz5S p preview和代码 table class tab
  • 如何克隆 Angular UI 树中的节点?

    如何克隆 Angular UI 树中所有子节点的节点 现在我使用事件点击 ng click newSubItem this where newSubItem是函数 scope newSubItem function scope var no
  • JavaScript:删除共享相同属性值的对象的重复项

    我有一系列对象 我想根据特定的情况来修剪它们key value一对 我想创建一个数组 其中每个特定对象仅包含一个对象key value一对 将重复项中的哪个对象复制到新数组并不一定重要 例如 我想根据price的财产arrayWithDup
  • 调用函数并将参数从 Kotlin 传递到 Flutter

    我正在处理PlatformChannels试图与来自Kotlin to Flutter 实际上尝试按照 flutter 平台频道的文档中的说明进行操作 但方向相反 flutter 平台通道文档 https flutter dev docs
  • 使用 $http 拦截器取消请求?

    我想弄清楚是否可以使用 http拦截器在请求发生之前取消请求 有一个按钮可以触发请求 但如果用户双击它 我不希望相同的请求被触发两次 现在 我意识到有几种方法可以解决这个问题 并且我们已经有了一个可行的解决方案 我们将其包装起来 http在
  • Angularjs 切换 div 可见性

    我试图通过单击按钮来切换 div 文本 我尝试采用范围变量并根据该变量切换类名 我在哪里犯了错误here http jsfiddle net nw5ndzrt 340
  • Angularjs ui 路由器。如何重定向到登录页面

    我有4个状态 仪表板 仪表板 main 仪表板 次要 login 仪表板是抽象的 它是 minor 和 main 状态的父状态 下面是我的代码 state dashboard url dashboard abstract true temp
  • 是否可以为 $httpBackend 响应设置通配符?

    假设我在 AngularJS 中有以下测试代码 var someURL var dummyJSON httpBackend whenGET someURL respond dummyJSON 有没有一种方法可以使其成为一组 URL 而不仅仅
  • AngularJS - 成功返回 $http.post

    我使用 AngularJs 我需要在 http post 连接后返回数据 这是代码 app controller PrincipalController http scope function http scope scope myData
  • 如何在flutter中使用API​​调用嵌套的json数据?

    我的 JSON 看起来像这样 Info c type id 1 cleaning type A Cleaning c type id 2 cleaning type B Cleaning c type id 3 cleaning type
  • Angular 资源测试:$httpBackend.flush() 导致意外请求

    我想测试 angularjs 资源 use strict AddressService provides functionality to use address resource in easy way This is an exampl
  • AngularJS:从控制器内读取路由参数

    如何在 AngularJS 控制器中读取 URL 中的参数 假设我有一个像这样的网址http localhost var value我希望将该值存储在控制器内的变量中 var value URL 我尝试过使用 routeParams val
  • Angularjs UI 模态表单

    我曾经使用引导模式有一个登录对话框 scope loginDialog backdrop true keyboard true windowClass modal loginDialog backdropClick true templat
  • Spring 和 Angular JS

    我正在使用 Spring 和 Angular JS 开发一个应用程序 但我不知道我所做的是否正确 在同一个 Maven 项目中 我做了 一个用户类 然后我创建了一个 RestController 在其中创建了我的 webservice 在
  • 重建父级时调用子级 init 方法 - flutter

    据我了解和颤振的工作机制 有状态的小部件方法仅在小部件树中第一次构建时被调用一次 并且每次其状态更改或父级重建时都会调用构建方法方法 bottomNavigationBar BottomNavigationBar items BottomN
  • 如何测试 AngularJS 指令

    我正在开发一个将使用 AngularJS 的 Rails 3 2 应用程序 我可以让 Angular 做我需要的事情 但我很难弄清楚如何测试我正在做的事情 我正在使用guard jasmine 使用 PhantomJS 运行 Jasmine
  • Dart 中 ~ 是什么意思?

    在 Dart 的一些代码示例中看到了波形符 我见过它在 C 中用作析构函数 可以调用它来删除对象的实例 它在 Dart 中具有相同的功能吗 Java中有等效的符号吗 Dart 不支持析构函数 https www dartlang org g
  • 如何在一页/url 上执行 angularjs 多步骤/向导表单

    我试图找出 AngularJS 中合理的方法来创建一个由多个步骤 即向导 组成但链接到一个页面 URL 的函数 来自一个步骤的数据必须将数据发送到下一步 或与之共享数据 要点是 url 应保持不变 即http mydomain myapp

随机推荐

  • wmic 命令的批处理脚本中的文本乱码

    我正在尝试运行批处理脚本来获取基本的计算机信息 如 CPU RAM 和活动网卡 这是我的代码 Echo OFF set newline echo echo Manufacturer Information gt test1 txt syst
  • 如何使用 cPanel 托管 Django 网站?

    我是网站托管领域的新手 尤其是 cPanel 平台 我有一个使用Python语言开发的网站 它也使用Django 我在 cPanel 中托管了这个网站 但它似乎不起作用 当我浏览我的网站域 www def com 时 现在它显示 site
  • 如何在Java中实现无穷大?

    Java 是否有任何东西可以代表每种数值数据类型的无穷大 它是如何实现的 以便我可以用它进行数学运算 E g int myInf infinity However it is done myInf 5 returns infinity my
  • PHP 表单提交时自动跳转到 HTML 锚点

    我正在尝试将表单添加到我的索引页面中 以便当您单击 提交 时 页面重新加载时它将自动返回到表单 现在 如果页面上有任何错误 它会在表单上方显示它们 并给出一些感谢信息 我目前的index html 页面有以下内容
  • BizTalk Schema 开发 - 十六进制值 0x19,是无效字符

    我有一个架构元素节点 如下所示
  • 如何使用 PLSQLDeveloper 窗口打印 SYS_REFCURSOR?

    在下面的查询中如何在 PL SQL SQL Window 中获取 IO CURSOR 值 DECLARE SOME VAR 1 VARCHAR2 20 SOME VAR 2 VARCHAR2 20 SOME VAR 3 DECIMAL IO
  • 在函数式编程中,什么是函子?

    我在阅读有关函数式编程的各种文章时多次遇到 函子 一词 但作者通常假设读者已经理解该术语 在网络上环顾四周 要么提供了过多的技术描述 请参阅维基百科文章 或令人难以置信的模糊描述 请参阅此处有关函子的部分ocaml 教程网站 有人可以定义这
  • 如何从sql bigquery中的字符串字典列表中获取值?

    您好 我有一个包含以下数据的 sql 表 Outbound click action type outbound click value 1025 我如何获得正确的值 因为这是 bigquery sql 中的字符串 我想要的输出是 Outb
  • 如何在 Google Container Engine 上使用 Kubernetes 服务公开动态端口?

    我正在尝试通过 TCP 协议通过互联网从本地计算机连接到 Google Container Engine GKE 上的 Docker 容器 到目前为止 我已经使用了 Kubernetes 服务 它提供了外部 IP 地址 因此本地计算机可以使
  • C#:文件复制通知[关闭]

    Closed 这个问题需要细节或清晰度 目前不接受答案 您好 我正在创建一个 C 应用程序来监视已复制的文件 该程序的目的是提醒用户有一个文件已被复制 我知道文件系统观察程序类 但它只有 4 个事件 更改或创建或删除或重命名 有没有办法知道
  • 如何访问过程之外的变量

    我正在尝试围绕 Tcl 变量作用域进行思考 但我坚持认为是一个简单的概念 如何访问我在过程之外定义的变量 但我没有明确地定义该变量传递给进程 我试图避免设置一堆全局变量 并且只访问我在特定命名空间中定义的变量 我需要在下面的代码中添加什么以
  • 使用 ItemsSource 将预定义项目添加到 ComboBox

    我正在尝试将预定义的 ComboBoxItem 添加到已设置 ItemsSource 属性的 ComboBox 中 例子 Select item Item 1 Item 2 Item 3 可以在不修改原始项目集合的情况下执行此操作吗 以下是
  • 如何在 Firestore 上以有限权限使用 Admin SDK?

    我在云功能和 Firestore 规则方面遇到一些问题 我想在 Firestore 上使用具有有限权限的云功能并给予 仅具有安全规则中定义的访问权限 它在 RTDB 上运行没有问题 但在 Firestore 上运行不正常 我尝试过这个规则
  • 各种编译器编译的链接库

    我想更详细地询问我最近在这里得到的答案 第三个 编译语言基础知识 如果我用 C 和 MinGW 编写并链接到 VC 编译的 C 库 它会工作吗 我如何提前知道 换句话说 如果我能够在没有警告的情况下创建链接到该 C dll 的 exe 并且
  • 如何捕获对话框外触摸时的事件?

    我的应用程序有一个对话框 我想在用户单击对话框外部时捕获事件 为此我需要做什么 谢谢大家 Dialog有setCanceledOnTouchOutside boolean 方法 如果您传递 true 作为参数 当您触摸窗口边界之外时 对话框
  • jquery datepicker + 日期差异计算

    这是我的代码 function arr date datepicker dateFormat dd mm yy dep date datepicker dateFormat dd mm yy function var start arr d
  • 如何编写 Firebase 规则以允许仅读取集合/文档的一部分? [复制]

    这个问题在这里已经有答案了 我正在使用 firebase firestore 开发一个网站 该网站向基于角色的用户显示文章 所以数据库保存了文章的集合 qlt0mPbTBt1rQcrx1HJR title Article 1 descrip
  • jQuery.parseJSON \u0092 字符未解析

    我有一个从 php 编码的文本 带有 ajax 函数和 de php utf8 encode 如果我直接在控制台中打印它 文本将显示如下 projects id 1 title CURSOS DE PERIODISME descriptio
  • 使用赋值作为条件表达式?

    考虑 if a 5 do something 任务作为条件如何发挥作用 它是基于左值的非零值吗 C ISO IEC 14882 2003 E 5 17 1 有几个赋值运算符 它们都组 右到左 全部都需要一个可修改的左值作为其左操作数 赋值表
  • 在 Angular Dart 组件中填充派生字段

    我有一个采用单个属性的组件 我想用从此属性派生的值填充组件中的字段 我遇到的问题是 当构造函数内的代码运行时 与属性的绑定尚未发生 那么 如何设置派生字段的值呢 这是一些代码 import package angular angular d