![](/img/trans.png)
[英]How to load external librarie i.e. moment.js in Amber-Smalltalk?
[英]How should i load external files(i.e. js,css,html) in meteor project?
我想學習流星,我想從外面添加js,css和html頁面。 我嘗試使用此程序包,但似乎無法正常工作。 我試圖用以下代碼添加存儲在不同位置的html文件
Template.hello.helpers({
var row='';
page(){
jQuery.ajax({
url:'Desktop/test.html',
success:function(html){
row=html;
}
});
return row;
}
});
它給出了意外的令牌錯誤。如果我刪除var row,成功並返回return語句,則我的應用程序運行時未添加外部頁面。 我也試圖用$ .getScript()添加JS文件。 但是似乎對我沒有用。如果有人可以幫助我,那將非常有幫助。
我不確定您打算如何使用此外部html,但是您的幫助程序格式不正確。 您的row
變量拋出錯誤,因為它不在函數內部。 您不能直接在對象內部聲明變量。 另外,您的AJAX調用是異步的,因此返回行時仍將其定義為''
。
我認為您需要研究流星中html模板的工作方式。 您應該將行html放入其自己的模板中,然后使用空格鍵將其包括在hello模板中,如下所示:
你好檔案:
<template name='hello'>
<h1>Hello and welcome!</h1>
{{> row }}
</template>
行文件:
<template name='row'>
<div class='row'>This is a row.</div>
</template>
好的,我將嘗試回答您提出的實際問題:如何在模板中包含外部html文件?
兩種選擇:
如果“外部”文件在您的Meteor項目中,也將其也用作模板:用<template name="xxx"> ... </template>
包裹起來,然后只需通過{{> xxx}}
插入即可。
如果文件在其他地方,並且確實需要通過http調用包含,則將占位符元素<div id="fileGoesHere"></div>
想要的位置,然后在助手中執行以下操作:
(請參閱http://docs.meteor.com/api/http.html )
function insertExternalFile() {
HTTP.get( 'http://someurl', ( error, result ) => {
if( error ) {
console.log( error );
return;
}
$('#fileGoesHere').html( result );
});
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.