簡體   English   中英

我應該如何在流星項目中加載外部文件(即js,css,html)?

[英]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文件?

兩種選擇:

  1. 如果“外部”文件在您的Meteor項目中,也將其也用作模板:用<template name="xxx"> ... </template>包裹起來,然后只需通過{{> xxx}}插入即可。

  2. 如果文件在其他地方,並且確實需要通過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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM