2015-06-23 209 views
0

我剛開始創建一個Meteor應用並添加了dburles:google-maps包,我似乎一直按照他在教程中指出的步驟來執行它,但是我得到錯誤Template not defined,我的代碼是如下:模板未定義 - 流星

的.html

<head> 
    <meta charset="utf-8"> 
    <title>project-j</title> 
    <meta name="description" content="Let's see where it takes us"> 
    <meta name="viewport" content="user-scalable=no, initial-scale=1, minimal-ui, maximum-scale=1, minimum-scale=1" /> 
</head> 

<body> 
    {{> map}} 
</body> 


<template name="map"> 
    <div class="map-container"> 
    {{> googleMap name="map" options=mapOptions}} 
    </div> 
</template> 

的.js

Meteor.startup(function() { 
    GoogleMaps.load(); 
}); 

Template.map.helpers({ 
    mapOptions: function() { 
    if (GoogleMaps.loaded()) { 
     return { 
     center: new google.maps.LatLng(-37.8136, 144.9631), 
     zoom: 8 
     }; 
    } 
    } 
}); 

任何想法,我檢查完成的回購和代碼似乎與我的1:1 ...?

回答

1

你需要把客戶端代碼無論是在/client文件夾或裹在一張支票Meteor.isClient

if (Meteor.isClient) { 

    Meteor.startup(function() {...}); 

    Template.map.helpers({ ... }); 

} 

如果沒有,流星將在客戶端服務器上運行的代碼,模板未在服務器上定義。

你可以在http://docs.meteor.com/#/full/structuringyourapp

找到更多關於結構化流星應用的信息