Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在我的emberjs项目中包含一个插件,显示在浏览器中定义的,但在应用程序中调用时未定义_Javascript_Ember.js - Fatal编程技术网

Javascript 在我的emberjs项目中包含一个插件,显示在浏览器中定义的,但在应用程序中调用时未定义

Javascript 在我的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

内部应用程序/helpers/shodown.js

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');