我正嘗試使用<template is="auto-binding">
在我的模板中使用Polymer Expressions。聚合物模板自動綁定中斷模型屬性?
至於其他<template bind>
我激活一個模板,通過連接模型屬性,如在Polymer Docs
我的代碼描述如下所示:
<template id="root" is="auto-binding">
List
<ul>
<template repeat="{{ item in list }}">
<li>{{item.desc}}</li>
</template>
</ul>
</template>
<script type="text/javascript">
var template = document.getElementById("root");
template.model = {
"list":
[{
"desc": "first"
}, {
"desc": "second"
}]
};
</script>
JSBin here,你可以看到here jsbin.com/fibuc/1/quiet它不行。 (Chrome Canary,Chrome Stable,IE,Firefox)。
看來,如果我給你list
直接template
它的工作原理:http://jsbin.com/fibuc/3/quiet
template.list =
[{
"desc": "first"
}, {
"desc": "second"
}, {
"desc": "third"
}];
什麼是很奇怪的,但它仍然與.model
作品,如果我遲疑,附加了一下:http://jsbin.com/fibuc/2/quiet
setTimeout(function() {
template.model = {
"list":
[{
"desc": "first"
}, {
"desc": "second"
}, {
"desc": "third"
}]
};
},1000);
這是一個錯誤,還是我做錯了什麼?
編輯:如果可能的話,我想保持劇本不知道這樣的模板使用:<template bind>
或<template is="auto-binding">
。 在我的情況下,腳本代碼位於自定義元素puppet-js之內,它只提供從服務器到給定節點的數據,外部應用程序負責創建模板。
問題是'template-bound'沒有爲常規的''觸發。我想保留代碼在腳本(實際上是在自定義元素[puppet-js](https://github.com/PuppetJs/Puppet-Js))不知道方式外部應用程序使用的模板 –
tomalec
我看到兩個選項:或者嘗試通過類似'template.getAttribute('is')=='auto-binding''的方式來檢測代碼被使用的模板的風格,或者查看是否可以說服Polymer維護者更改行爲並做一些類似'this.model = this。模型||用於自動綁定模板的'createdCallback'中。你可以[提交bug](https://github.com/Polymer/polymer-dev/issues),看看他們有什麼要說的。 –