我看到很多关于如何监听属性变化的问题。但没有关于如何真正改变它们。
即使在调试中,我也无法在对象树中找到属性。我该如何实现这一目标?有更多的聚合方式来做以下事情吗?
<polymer-element name="my-element" attributes="owner">
<template>
<p id="el">{{owner}}</p>
</template>
<script>
Polymer({
owner: "Miguel",
});
</script>
</polymer-element>
<my-element id="el1" owner="blabla"></my-element>
<script>
$(document).ready(function(){
$("el1").owner = "Mary"
})
</script>
它会打印blablab,但不会将其更改为Mary
答案 0 :(得分:0)
在0.5中,您需要等待polymer-ready
。请参阅文档here。
<head>
<link rel="import" href="path/to/x-foo.html">
</head>
<body>
<x-foo></x-foo>
<script>
window.addEventListener('polymer-ready', function(e) {
var xFoo = document.querySelector('x-foo');
xFoo.barProperty = 'baz';
});
</script>
</body>
理想情况下,您的应用会是<my-app></my-app>
之类的元素,因此您可以对owner
属性进行绑定,如下所示:
<my-element owner="{{owner}}"></my-element>
my-element
将驻留在另一个Polymer元素中,您可以在其中设置所有者属性,如下所示:
// Parent Polymer element
Polymer({
_someFunctionYouCall: function() {
this.owner = 'Mary';
}
});