I prepiled my handlebars template like this:
handlebars tabs.hbs -f tabs.js
I load them like this:
<script type="text/javascript" src="js/handlebars.runtime.min.js"></script>
<script type="text/javascript" src="js/templates/tabs.js"></script>
<script type="text/javascript" src="js/tabsData.js"></script>
This is how I provide the context to the prepiled template:
var template=Handlebars.templates["tabs.hbs"];
var html=template(tabsData);
console.log(html)
sidebar.setContent(html);
I get this error:
Uncaught TypeError: undefined is not a function handlebars.runtime.js 436
/*Error points here*/
var result = templateSpec.call(
container,
namespace, context,
helpers,
partials,
options.data);
This is template
:
function (context, options) {
options = options || {};
var namespace = options.partial ? options : env,
helpers,
partials;
if (!options.partial) {
helpers = options.helpers;
partials = options.partials;
}
var result = templateSpec.call(
container,
namespace, context,
helpers,
partials,
options.data);
if (!options.partial) {
env.VM.checkRevision(containerpilerInfo);
}
return result;
}
I prepiled my handlebars template like this:
handlebars tabs.hbs -f tabs.js
I load them like this:
<script type="text/javascript" src="js/handlebars.runtime.min.js"></script>
<script type="text/javascript" src="js/templates/tabs.js"></script>
<script type="text/javascript" src="js/tabsData.js"></script>
This is how I provide the context to the prepiled template:
var template=Handlebars.templates["tabs.hbs"];
var html=template(tabsData);
console.log(html)
sidebar.setContent(html);
I get this error:
Uncaught TypeError: undefined is not a function handlebars.runtime.js 436
/*Error points here*/
var result = templateSpec.call(
container,
namespace, context,
helpers,
partials,
options.data);
This is template
:
function (context, options) {
options = options || {};
var namespace = options.partial ? options : env,
helpers,
partials;
if (!options.partial) {
helpers = options.helpers;
partials = options.partials;
}
var result = templateSpec.call(
container,
namespace, context,
helpers,
partials,
options.data);
if (!options.partial) {
env.VM.checkRevision(container.pilerInfo);
}
return result;
}
Share
Improve this question
edited Jul 9, 2014 at 14:30
vamsiampolu
asked Jul 8, 2014 at 17:45
vamsiampoluvamsiampolu
6,70420 gold badges90 silver badges194 bronze badges
5
- you'll need to figure out which item is undefined. – Mike Cheel Commented Jul 8, 2014 at 17:54
-
@MikeCheel Calling
template(tabsData)
throws thiserror
,I trying using the samecontext
and piling it ontryhandlebarsjs.
where it works. – vamsiampolu Commented Jul 9, 2014 at 4:54 - What do u get for console.log(template) – blessanm86 Commented Jul 9, 2014 at 12:49
-
@blessenm Added the
template
code... – vamsiampolu Commented Jul 9, 2014 at 14:31 - I think Handlebars.templates["tabs.hbs"] is returning undefined. Check if Handlebars.templates has ur template and if the key 'tabs.hbs' si correct. – blessanm86 Commented Jul 9, 2014 at 15:01
1 Answer
Reset to default 4As biomorgoth mented here: https://stackoverflow./a/22214119
Make sure your npm version corresponds to the client version. Client version is in the the top of the js file and you find npm version with:
npm list -g | grep handlebars
installing the 1.3.0 version with npm solved the issue for me.
sudo npm install -g [email protected]
发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745617295a4636311.html
评论列表(0条)