Polymer 获取代码镜像元素的值

Polymer 获取代码镜像元素的值,polymer,codemirror,Polymer,Codemirror,我使用的是Polymer Designer的代码镜像组件,可以设置初始值,但看不到如何从用户那里获得代码更改 我使用初始化代码镜像 <code-mirror id="code_mirror" value="{{code}}"> </code-mirror> 并且希望侦听{code}}中的更改,但codeChanged似乎没有启动 我知道我可以使用code_mirror.$.mirror.getValue()获取实际值,但我希望使用数据绑定 我尝试过使用on ch

我使用的是Polymer Designer的代码镜像组件,可以设置初始值,但看不到如何从用户那里获得代码更改

我使用初始化代码镜像

<code-mirror id="code_mirror" value="{{code}}">


</code-mirror>

并且希望侦听{code}}中的更改,但codeChanged似乎没有启动

我知道我可以使用code_mirror.$.mirror.getValue()获取实际值,但我希望使用数据绑定

我尝试过使用on change,但没有任何效果。

假设您正在使用,您需要做的是使在
中创建的
codemirr
实例准备就绪
处理实例本身发出的一些事件,然后使
代码镜像
元素激发(我知道这是一种称为事件中继的东西)

以下示例使polymer元素在编辑器值更改时触发自定义事件
code change

ready: function() {
    var me = this;
    //...

    this.mirror = CodeMirror(this.shadowRoot, { /* ... */ });

    this.mirror.on('change', function () {
        // me = polymer instance
        me.fire('code-change', { value: me.mirror.getValue() })
    });
}
然后,polymer自定义元素的任何实例都需要使用polymer的声明性事件映射或通过
addEventListener

第一种情况(如果
代码镜像
位于另一个
内):


// ...
聚合物({
onCodeChange:函数(事件、详细信息、发送方){…}
});
第二种情况():


文件
.querySelector(“代码镜像”)
.addEventListener('code-change',function(){…});
<code-mirror on-code-change="{{ onCodeChange }}"></code-mirror>
// ...
<script>
Polymer({
  onCodeChange: function(event, detail, sender) { ... }
});
</script>
<code-mirror></code-mirror>
<script>
   document
       .querySelector('code-mirror')
       .addEventListener('code-change', function () { ... });
</script>