Javascript 模板抛出-未捕获类型错误:无法调用方法';匹配';未定义的
我的html中有以下模板Javascript 模板抛出-未捕获类型错误:无法调用方法';匹配';未定义的,javascript,jquery,html,templates,Javascript,Jquery,Html,Templates,我的html中有以下模板 <script id="mapview-tpl" type="text/x-handlebars-template"> <div class='header'><a href='#' class="button header-button header-button-left">Back</a><h1>Map</h1></div> <div class='details'>
<script id="mapview-tpl" type="text/x-handlebars-template">
<div class='header'><a href='#' class="button header-button header-button-left">Back</a><h1>Map</h1></div>
<div class='details'>
<script type="text/javascript">
function initialize() {
var mapOptions = {
center: new google.maps.LatLng(-34.397, 150.644),
zoom: 8
};
var map = new google.maps.Map(document.getElementById("map-canvas"),
mapOptions);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
<div id="map-canvas"/>
</div>
当到达上述函数的末尾时,将抛出以下错误
uncaughttypeerror:无法调用未定义的方法“match”
hmm
======
补充
我忘了补充一点,这个错误只在(this.mapsURL)被称为means时抛出,它只会在
match = hash.match(this.mapsURL);
if (match) {
this.store.findById(Number(match[1]), function(employee) {
self.slidePage(new MapView(employee).render());
});
}
被称为。如果上面的If工作正常对于这种情况,我通常使用
test
,在未定义的值的情况下更安全:(this.detailsURL).test(hash)
和(this.mapsURL).test(hash)
在您的情况下,我也会检查散列值以了解发生了什么:如果没有散列,它应该是“”,但它甚至不是未定义的
-否则它应该输入您的第一个条件并返回我猜。傻我!!!发现这可能是无法编译的模板的“通用”错误,在我的例子中,模板名称定义错误!谢谢散列
可能未定义。而且没有未定义的的匹配
。添加一个hash=hash==未定义?“”:散列
match = hash.match(this.mapsURL);
if (match) {
this.store.findById(Number(match[1]), function(employee) {
self.slidePage(new MapView(employee).render());
});
}