2013-04-03 144 views
1

我尝试使用Defining a block helper with Handlebars中的代码创建助手。 @danii的http://jsfiddle.net/6Jaya/表明它应该工作。但事实并非如此。我得到以下输出: Screenshot手把助手不能正常工作

这是一个错误还是我错过了什么?

app.js

App = Ember.Application.create(); 

Handlebars.registerHelper('link', function(options) { 
    var result = '<a href="http://www.example.com">' 
       + options.fn(this) 
       + '</a>'; 
    console.log(result); 
    return new Handlebars.SafeString(result); 
}); 

的index.html

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
    <title>Example</title> 
    </head> 
    <body> 
    <script type="text/x-handlebars"> 
     <p> 
     {{#link}} 
     <img src="http://placekitten.com/50/50"> 
     {{/link}} 
     </p> 
    </script> 

    </body> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
    <script type="text/javascript" src="js/handlebars.js"></script> 
    <script type="text/javascript" src="js/ember.js"></script> 
    <script type="text/javascript" src="js/app.js"></script> 
</html> 
+0

您的示例适用于我 – mlienau

+0

'console.log(arguments)'吐出一个'[Object]'。你需要准确地知道什么? – wintermeyer

回答

0

你为什么不只是使用?这是否有特定的原因?

Handlebars.registerHelper('link', function(value) { 
    var result = '<a href="http://www.example.com">' 
       + value 
       + '</a>'; 
    console.log(result); 
    return new Handlebars.SafeString(result); 
}); 
+1

我需要在块帮助程序中放置一段代码。 – wintermeyer