我正在启动一个应用程序(我是requirejs 的新手)requirejs 单例应用程序模型...基本上我将模板数组传递给我的实用程序js,并将模板分配给适当的视图...
我用 :
app.js,singleton.js(返回对象),index.js 用于实现索引页面模板,用于将模板分配给适当视图的实用程序...
但是在 index.js 中,当我控制台 this.template 时......我得到的结果是“function (n){return e.call(this,n,w)}” - 我知道我的方法是错误的。 . 任何一次都可以给我正确的方式给我.. 或突出我错了我做什么pelase..?
提前致谢..
这是我所有的js文件:
app.js:-
requirejs.config({
baseUrl: 'js',
paths: {
"jquery" : 'lib/jquery-1.9.1.min',
"underscore": "lib/underscore-min",
"backbone" : "lib/backbone-min",
"singleton" : "utils/singleton",
"model" : "models/model",
"index" : "views/index",
"utils" : "utils/utils",
},
shim:{
"underscore":{
exports: '_'
},
"backbone":{
exports: 'Backbone',
deps:['underscore']
},
"utils" : {
deps:['index'],
deps:['model']
}
}
});
require(["jquery","underscore","backbone","singleton","utils","index"],function ($,_,Backbone,obj) {
obj.makeTemp(['index']);
});
singleton.js(只返回对象)
define(function () {
var EDMS = EDMS || {};
return EDMS;
})
utility.js(我分配模板的地方)
define(["underscore", "singleton","model","index"],function (_,obj,model) {
var EDMS = obj || {};
EDMS.makeTemp = function(views){
$.each(views, function(index,view){
if(view){
var temp = $.get('templates/' + view + '.html')
.done(function(data){
EDMS[view].prototype.template = _.template(data);
new EDMS.index;
})
}else{
console.log("No template found!")
}
});
}
return EDMS;
})
最后是我的 index.js,我应该在其中获取由实用程序分配的模板
define(["singleton","underscore","backbone","utils"],function (obj,_,Backbone) {
var EDMS = obj || {};
EDMS.index = Backbone.View.extend({
initialize:function(){
console.log(this.template);
error i am getting as "function (n){return e.call(this,n,w)} "
}
});
})