Requirejs 虽然已加载模板文件,但模板内容不可用
我定义了这个主干视图:Requirejs 虽然已加载模板文件,但模板内容不可用,requirejs,Requirejs,我定义了这个主干视图: define(["jquery", "backbone", "main", "text!templates/loginViewTemplate.html"], function($, Backbone, loginViewTemplate) { var LoginView = Backbone.View.extend({ render: function() { console.log(loginViewTe
define(["jquery", "backbone", "main", "text!templates/loginViewTemplate.html"],
function($, Backbone, loginViewTemplate) {
var LoginView = Backbone.View.extend({
render: function() {
console.log(loginViewTemplate);
this.template = _.template(loginViewTemplate, {});
$(this.el).html(this.template);
return this;
},
// ...
});
});
但是console.log语句是“未定义”的,不会呈现任何内容。尽管我可以在控制台中看到对
loginViewTemplate.html
文件的请求。我遗漏了什么?在离开屏幕几分钟后,我发现依赖声明的顺序很重要
使第一行看起来像这样解决了它:
define(["jquery", "backbone", "text!templates/loginViewTemplate.html", "main"],
function($, Backbone, loginViewTemplate) {
在离开屏幕几分钟后,我发现依赖声明的顺序很重要 使第一行看起来像这样解决了它:
define(["jquery", "backbone", "text!templates/loginViewTemplate.html", "main"],
function($, Backbone, loginViewTemplate) {
顺序本身并不重要,但如果未将对其的引用传递给回调函数,则依赖项不可用。为了避免添加更多依赖项时出现问题,我建议设置函数参数
($,主干,loginViewTemplate,main)
,即使未使用main
(…但这表明这是一个副作用依赖项?)。顺序本身并不重要,但如果未将对其的引用传递给回调函数,则依赖项不可用。为了避免添加更多依赖项时出现问题,我建议创建函数参数($,主干,loginViewTemplate,main)
,即使未使用main
(…但这表明这是一个副作用依赖项?);当前:“jquery”->$,“主干”->“主干”,“主”->“loginViewTemplate”,“text!templates/loginViewTemplate.html”->(无)。loginViewTemplate
未定义这一事实表明main
模块没有返回任何有意义的内容(根本不是模块?),这是正确的。我对Require.js非常陌生(比如..昨天),因此,我最初的javascript文件此时不是一个模块(其中的一些配置方法和助手方法)。现在我将它定义为一个模块,这样就可以将它正确地传递给工厂函数。但以jquerycookie为例呢?当我想使用$.cookie
时,我必须将jquery cookie
定义为依赖项,但不能将其传递给函数!?这让我很困惑。需要修复的是工厂功能参数列表;当前:“jquery”->$,“主干”->“主干”,“主”->“loginViewTemplate”,“text!templates/loginViewTemplate.html”->(无)。loginViewTemplate
未定义这一事实表明main
模块没有返回任何有意义的内容(根本不是模块?),这是正确的。我对Require.js非常陌生(比如..昨天),因此,我最初的javascript文件此时不是一个模块(其中的一些配置方法和助手方法)。现在我将它定义为一个模块,这样就可以将它正确地传递给工厂函数。但以jquerycookie为例呢?当我想使用$.cookie
时,我必须将jquery cookie
定义为依赖项,但不能将其传递给函数!?这使我困惑。