是否可以解析出動態部分/組件使用的關鍵路徑列表?如何動態地解析Ractive.js模板中使用的關鍵路徑列表
如果我從一個完全空的數據對象開始 - 並動態添加一個局部/組件。可以遍歷動態添加的部分的html並發現使用哪個keypath。
我的意圖是隨後將這個keypath列表應用到我的數據對象上。我正在構建一個拖放wysiwyg ui - 並希望設計人員能夠添加模板而不觸摸ractive ...
這裏是一些僞代碼,我希望說明我正在努力實現的目標。
<script id="foo" type="text/ractive">
<p>{{blah}}</p>
<p>{{blahblah}}</p>
</script>
-
var ractive = new Ractive({
el: '#container',
template: '{{#items}}{{partial}}{{/items}}',
data: {
items : [] // empty to start with
}
});
ractive.on('addpartial', function (event) {
// partial gets added
// process the partial to find out what keypaths it contains.. put those keypaths into array
var partialDataArray = [{'blah':''},{'blahblah':''}]
this.push('items' , { 'partial' : 'foo', partialDataArray }
});
另一種選擇是設置每個「部分」作爲一個組成部分 - 但我會重複自己的負載(我想成爲全乾等)
乾杯, 羅布
好的,所以我想通了...... Ractive本身並沒有這樣做 - 但是,我能夠加載所有模板並在設置時解析它們。然後我把每一個變成一個組件。它看起來很笨重 - 但實際上工作得很好.... – Rob