我想在骨干视图中包含一个有用的函数库。我正在使用require.js。我的库看起来像:
define(function (require) {
"use strict";
console.log('in the useful');
var $ = require('jquery');
function myFunction()
{
alert("Hello World!");
}
});
并且视图是这样的:
define(function (require) {
"use strict";
var $ = require('jquery'),
_ = require('underscore'),
UsefulFuncs = require('app/utils/useful_func'),
tpl = require('text!tpl/Register.html'),
template = _.template(tpl),
errors = [],
Backbone = require('backbone');
return Backbone.View.extend({
initialize: function() {
this.render();
},
render: function () {
this.$el.html(template());
return this;
},
events: {
'submit .register-form' : 'onSubmit',
},
onSubmit: function(e) {
//UsefulFuncs.myFunction();
myFunction();
},
});
});
但是当我点击“提交”时,我得到“myFunction未定义”。当我尝试UsefulFuncs.myFunction();
时也一样那么如何在骨干视图中访问我的函数库呢?
答案 0 :(得分:1)
您必须从实用程序模块返回包含该函数作为属性的对象:
define(["jquery"], function($) {
"use strict";
var UsefulFuncs = {};
console.log('in the useful');
UsefulFuncs.myFunction = function() {
alert("Hello World!");
}
return UsefulFuncs;
});
然后,您可以添加更多函数作为UsefulFuncs
的对象属性。