Javascript 在我的emberjs项目中包含一个插件,显示在浏览器中定义的,但在应用程序中调用时未定义
内部应用程序/helpers/shodown.jsJavascript 在我的emberjs项目中包含一个插件,显示在浏览器中定义的,但在应用程序中调用时未定义,javascript,ember.js,Javascript,Ember.js,内部应用程序/helpers/shodown.js Ember.Handlebars.helper("markdown", function(input) { var showdown = new Showdown.converter(); return new Handlebars.SafeString(showdown.makeHtml(input)); }); 我得到摊牌是没有定义的 我认为这可能与jslint不允许未定义的全局变量有关,所以我将其添加到我的jslintr
Ember.Handlebars.helper("markdown", function(input) {
var showdown = new Showdown.converter();
return new Handlebars.SafeString(showdown.makeHtml(input));
});
我得到摊牌是没有定义的
我认为这可能与jslint不允许未定义的全局变量有关,所以我将其添加到我的jslintrc中
"globals": {
"moment": true,
"Emberfront": true,
"jQuery": true,
"Ember": true,
"Showdown": true,
"Handlebars": true,
"DS": true
}
如果我把它放在index.html中,它就可以正常工作了
<script>
Ember.Handlebars.helper("markdown", function(input) {
var showdown = new Showdown.converter();
return new Handlebars.SafeString(showdown.makeHtml(input));
});
</script>
这是一张控制台的照片
如果你看不到,还有一个链接
我使用决战,但在初始化ember应用程序之前创建了一个实例,请参见:
在Handlebars helper中使用该实例:工作正常,但我想知道是否有一种方法可以在ember应用程序内部执行此操作,而不仅仅是在ember外部创建一个全局的。将其固定到您的ember应用程序上,app=ember.Application.create{shodown:new shodown.converter},然后从帮助程序中将其从应用程序中抓取。
require('scripts/helpers/*');
require('scripts/controllers/*');
require('scripts/store');
require('scripts/models/*');
require('scripts/routes/*');
require('scripts/views/*');
require('scripts/router');