首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >具有发布属性的Dart聚合物元素:如何避免自我通知

具有发布属性的Dart聚合物元素:如何避免自我通知
EN

Stack Overflow用户
提问于 2014-10-29 14:52:50
回答 1查看 174关注 0票数 1

我有一个自定义的聚合物元素,带有已发布的属性inputValue

该组件侦听inputValue更改,并在更改时将新值报告给内部逻辑。

相反的方向也是如此:元素监听内部逻辑的变化,并将新值设置为inputValue

当新值设置为inputValue时,这会使观察系统通知所有侦听器,但元素本身就是侦听器。

我希望避免通知元素自己所做的更改。

下面是自定义元素Dart代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@CustomTag("codemirror-input")
class CodemirrorInput extends PolymerElement {

  @published
  String mode;

  @published
  String inputValue;

  CodemirrorInput.created() : super.created();

  void ready() {

    Map options = {
      'mode':  mode
    };

    GradeCodeMirror editor = new GradeCodeMirror.fromElement(
        $['codemirror'], options: options);

    onPropertyChange(this, #inputValue, (){
      editor.setOption("value", inputValue);
    });

    editor.onChange.listen((_){
      inputValue = editor.getDoc().getValue();
    });
  }
}
EN

回答 1

Stack Overflow用户

发布于 2014-10-29 15:54:06

我想知道如果值实际上没有改变,为什么inputValueChanged会触发,我认为只有当旧值和新值不同时它才会触发。但是如果它真的不能以这种方式工作,你可以自己检查

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
editor.onChange.listen((_){
  var val = editor.getDoc().getValue();
  if(inputValue != val) {
    inputValue = val;
  }
});
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
onPropertyChange(this, #inputValue, (){
  editor.setOption("value", inputValue);
});

可以通过向元素添加一个方法来简化

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
void inputValueChanged(oldValue, newValue) {
  editor.setOption("value", inputValue);
}

每次inputValue更改时都会调用此方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26633540

复制
相关文章
jQuery 隐藏具有指定class属性值的元素
代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>前端</title> <style> .antzone{ width:200px; height:100px; background:#ccc; } </style> <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script> <script> $(document).ready(func
IT工作者
2022/02/17
5K0
Js如何修改元素的属性值
http://mpvideo.qpic.cn/0bc3eaajwaaa4qaelx3bjvrvaigdtmqabgya.f10002.mp4?dis_k=4cf17def14cb58de5ca3ebc
itclanCoder
2022/12/07
13.4K0
如何发布具有超高性能的地图服务
❝本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes ❞
朱卫军 AI Python
2023/09/04
4740
如何发布具有超高性能的地图服务
如何修改伪元素的content属性的值
前面一篇文章我们了解如何用js控制伪元素的样式,接下来我们看看如何修改伪元素的content属性,因为伪元素并不存在在dom中,所以我们只能通过修改样式表的方式来修改content内容,除了修改样式表还有另外一种方式。
挥刀北上
2021/01/27
6.1K0
如何修改伪元素的content属性的值
CSS中如何解决子元素继承父元素的opacity属性?
这里有两个方案,使用rgba()间接的设定opacity的值,这个属性不会向下继承,或者既然opacity会被子级元素继承,那就把opacity属性放到同级元素实现,下面通过示例具体说说这两种方式:
全栈程序员站长
2022/09/01
4.5K0
Dart 2.15 现已发布
作者 / Michael Thomsen, Dart & Flutter Product Manager, Google
落寞的鱼丶
2022/02/28
1.1K0
Dart 2.7 发布: 更安全、更具表现力的 Dart
上周,我们发布了 Dart 2.7 SDK 的稳定版本,它可以为开发者提供多项新功能。Dart 语言经过了充实的一年,它是一种针对客户端优化的语言,适用于在任何平台上开发高效运行的应用。我们今年发布了 6 个新版本,数十项新功能。我们很欣喜地看到这些功能已经被 Dart 社区广泛使用。最近的 GitHub Octoverse 显示,根据多个参与方的评估结果,Dart 被认定为增长速度最快的编程语言 (排名第一),这一消息让我们备受鼓舞。
Piper蛋窝
2020/12/14
1.1K0
Dart 2.7 发布: 更安全、更具表现力的 Dart
silverlight属性改变事件通知
工作中遇到silverlight本身没有提供的某些属性改变事件,但又需要在属性改变时得到通知,Google搬运stack overflow,原地址
用户6362579
2019/09/29
9120
ERP那些具有“组织”属性字段的启发
声明:本文仅代表原作者观点,仅用于SAP软件的应用与学习,不代表SAP公司。注:文中所示截图来源SAP软件,相应著作权归SAP所有。文中所指ERP即SAP软件。
齐天大圣
2021/04/23
8690
ERP那些具有“组织”属性字段的启发
Jenkins 2.173 发布通知
本次更新移除了一些不太推荐的功能,请管理员及时关注,如果希望能恢复的旧的形态,可以按照下面的提示操作。
LinuxSuRen
2019/05/10
4320
CSS3中如何解决子元素继承父元素的opacity属性[通俗易懂]
css3中的opacity属性是用来设置 div 元素的不透明级别的,但是我们往往会遇到因为父级元素设定opacity后,子元素也跟着透明了,但是有时候我们只是想让背景是透明的,这该如何解决呢?
全栈程序员站长
2022/09/01
4K0
CSS3中如何解决子元素继承父元素的opacity属性[通俗易懂]
获取元素的样式属性 原
document.getElementById("test").style.color 这种方式获取的只是内联样式,并不能获取内部样式和外部样式,下面为内部样式
tianyawhl
2019/04/04
2.4K0
XML元素和属性
默认情况下,next()方法不检查是否存在与标记为必需的属性相对应的元素和属性。要使读取器检查此类元素和属性是否存在,请在调用Next()之前将读取器的CheckRequired属性设置为1。出于兼容性原因,此属性的默认值为0。
用户7741497
2022/07/04
1.4K0
JavaScript 操作元素属性
1、html的属性和js里面属性写法一样 2、“class” 属性写成 “className” 3、“style” 属性里面的属性,有横杠的改成驼峰式,比如:“font-size”,改成”style.fontSize”
Devops海洋的渔夫
2019/05/31
1.1K0
如何持续的自我提升
今天,笔者从 百度App Objective-C/Swift 组件化混编之路(二)- 工程化 时,就被灌输了一个”新知识“:module 会供链接器使用 。
酷酷的哀殿
2021/02/01
7330
html标签属性(attribute)和dom元素的属性(property)
简介 attribute和property都有属性之意,但对于attribute和property的区分其实并不难。从对象来说,attribute是html文档上标签属性, 而property则是对应dom元素的自身属性。从操作方法上来看,attribute可以通过dom core规范的接口 getAttribute和setAttribute 进行获取修改,而property可以通过对象访问属性的方式 . 或者 ["  "]来修改获取。 但是对于ie6,7,8(Q)模式下,会与标准w3c浏览器发生兼容性问题
欲休
2018/03/15
1.9K0
父元素opacity属性对子元素的影响(子元素设置opacity无效)
这段时间做了一个项目优化,对于原有的内容进行了重新设计实现,其中一项就是对于label标签添加hover层进行解释说明,最常用的办法及时label的容器设置relative,然后hover层作为它的子元素设置absolute,然后在使用label的hover伪类来控制hover层的显示和隐藏,这其中一个要求及时hover层必定要求能够遮住页面中其他的元素,所以最常用的办法是设置它的背景颜色,然后让它的z-index处于合理的位置,一切都是这样设计的,但是最终的效果却出现了hover层设置bg为#fff的时候,hover层显示时还是会把底部内容给透出来,第一反应就是opacity设置为1,但是还是没有效果(因为背景为白色,所以有点坑)
全栈程序员站长
2022/09/01
3.2K0
父元素opacity属性对子元素的影响(子元素设置opacity无效)
dart 如何优雅的避空
对于每一个程序员来说,空指针异常应该是基本都会遇到过的异常,而且这个异常出现的概率还比较大。
AndroidTraveler
2019/03/11
1K0
dart 如何优雅的避空
集合:按元素的中文属性排序
1. 要排序的元素类: public static class NameCount implements Comparable<NameCount> { Collator collator = Collator.getInstance(java.util.Locale.CHINA); @ApiModelProperty(value = "名") private String name; @ApiModelProperty(value =
微风-- 轻许--
2020/04/14
1.4K0
点击加载更多

相似问题

Dart中的聚合物元素属性属性

11

如何从dart代码更新聚合物元素属性

11

使用类作为dart聚合物元素的属性

11

Dart包装中的聚合物元素

10

Dart聚合物的元素再利用

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文