聚合物更改通知和双向绑定语法
Polymer change notification and two-way binding syntax
我正试图弄清楚如何使用这里描述的聚合物中的双向通知
但是,虽然这解释了如果子元素上的对象发生了变化,有一些通知机制:
当属性的子属性配置为type: Object时更改时,元素会触发一个未冒泡更改的DOM事件有一个细节。路径值,表示对象上的路径改变。
但是它没有给出任何线索(我可以整理)语法将如何基于此更改编写一些行为。
例如,如果我有一个家长:
<dom-module id="parent-element">
<template>
<child-element obj="{{myObj}}"></child-element>
</template>
<script>
Polymer({
is: "parent-element",
myObj: {
type: Object
},
parentClick: function(){
this.myName = "Parent";
},
myObjChanged: function(){ //How to handle this event?
console.log("I have no idea what I'm doing")
}
});
</script>
还有一个子元素
<dom-module id="child-element">
<template>
<span on-click="childClick">Click me</span>
</template>
<script>
Polymer({
is: 'child-element',
properties: {
obj: {
type: Object,
notify: true
}
},
ready: function(){
this.obj = {foo: "bar"}
},
childClick: function(){
this.obj.foo = "baz"
}
});
</script>
当子节点被单击时,我期望一些事件被触发并被父节点拾取,但是我不知道如何在父节点为该事件编写脚本。我错过了什么?
我最近遇到了这个问题,并通过触发我自己的事件来解决这个问题。您可以在这里看到相关文档(请注意,该文档适用于0.5,但我已经在1.0版本中这样做了)。在子元素中,您可以更改childClick
函数以触发自定义事件,如下所示:
childClick: function(){
this.obj.foo = "baz"
this.fire("child-element-click"); // this can be anything you want...
}
,然后在父元素中添加侦听器到child-element
:
<dom-module id="parent-element">
<template>
<child-element obj="{{myObj}}" on-child-element-click="myObjChanged"></child-element>
</template>
<script>
Polymer({
is: "parent-element",
myObj: {
type: Object
},
parentClick: function () {
this.myName = "Parent";
},
myObjChanged: function () {
console.log("I have no idea what I'm doing")
}
});
</script>
相关文章:
- WinJS内联绑定语法
- AngularJS在使用值作为值语法时选择不绑定
- 如何使用子上下文可访问的自定义属性扩展模板绑定语法
- Javascript绑定语法
- 如何创建一个原型函数,将另一个原型函数绑定为语法糖(并保持实例的上下文)
- 更改 AngularJs 或 Polymer 中的绑定语法
- 单元测试 Karma Jasmine 语法错误:在“&”角度指令绑定上解析错误
- 角度数据绑定一个使用“控制器作为”语法
- Firebase 3 向数据绑定,采用 ControllerAs 语法
- Vue.js中的可选绑定语法
- foreach绑定语法是否有效
- 如何使用新的controllerAs语法和面向对象控制器在Angular中实现双向绑定
- Angular JS中ng-if表达式中条件单向绑定的语法
- 绑定JavaScript课程未捕获语法错误:意外的令牌<
- 将模型对象绑定到JavaScript数组时出现语法错误
- 使用[]语法和不使用[]语法绑定的区别
- 使用ControllerAs语法绑定服务变量,不带$scope
- 如何为Hogan.js创建自定义绑定语法(未转义的HTML版本)
- 聚合物更改通知和双向绑定语法
- AngularJS过滤器模板绑定语法——不像docs