截至此刻,似乎無法忽略aurelia中某些DOM節點的解析。至少它似乎不太可能,所以我增加了組合的替代:
我已經創建了一個名爲的getContent自定義屬性,它需要一個URL,檢索HTML並將其插入到該元素的innerHTML。使用自定義元素,您可以擴展qtuan的答案並將innerHTML綁定到此「提取」內容。
import {customAttribute, inject} from 'aurelia-framework';
import {HttpClient} from 'aurelia-fetch-client';
@customAttribute('get-content')
@inject(Element, HttpClient)
export class GetContentCustomAttribute {
constructor(element, http) {
this.element = element;
http.configure(config => {
config
.useStandardConfiguration();
});
this.http = http;
}
valueChanged(newValue) {
var self = this;
self.http.fetch(newValue)
.then(response => {
var reader = response.body.getReader();
var decoder = new TextDecoder();
var s = reader.read().then(utf => {
var html = decoder.decode(utf.value);
self.element.innerHTML = html;
})
});
}
}
你可以使用這個元素,像這樣:
<div class="container">
<h3>SWIG include example</h3>
<pre class="line-numbers">
<code class="language-markup">
<script type="prism-html-markup"
get-content="/modules/components/lists/templates/list.html">
</script>
</code>
</pre>
</div>
內腳本標籤不需要爲HTML得到正確的注入,它只是沒有讓事情變得有序。
我打算繼續打開這個問題再過幾天,希望有人能回答真正的問題,但現在有兩種選擇qtuan's正確的答案和我的。
再次讀你的問題,我可能誤解了。看起來你正在討論一些服務器端包含,之後將生成的HTML發送到客戶端並由Aurelia處理。 – qtuan
是的,我剛剛在你的回答下面的評論中試圖澄清它。 –
對不起,我沒有比使用自定義元素更好的想法,這不是您的選擇。 – qtuan