Jquery 引导日期选择器未使用requirejs填充
我正在使用backbone.js+require.js构建一个应用程序。我想在我的应用程序中从此处使用datepicker: 由于它不是AMD,我在requirejs中添加了如下内容:Jquery 引导日期选择器未使用requirejs填充,jquery,backbone.js,twitter-bootstrap,requirejs,Jquery,Backbone.js,Twitter Bootstrap,Requirejs,我正在使用backbone.js+require.js构建一个应用程序。我想在我的应用程序中从此处使用datepicker: 由于它不是AMD,我在requirejs中添加了如下内容: require.config({ baseUrl: "appjs", paths:{ jquery: '../layout_assets/assets/js/libs/jquery-1.8.2.min', dt: '../layout_assets/plugins/datatables/jque
require.config({
baseUrl: "appjs",
paths:{
jquery: '../layout_assets/assets/js/libs/jquery-1.8.2.min',
dt: '../layout_assets/plugins/datatables/jquery.dataTables.min',
dtPlugins:'../layout_assets/plugins/datatables/dtplugins',
dtBootstrap: '../layout_assets/plugins/datatables/dataTables.bootstrap',
underscore: '../assets/js/underscore-min',
Backbone: '../assets/js/backbone-min',
bootstrap: '../assets/js/bootstrap.min',
datepicker:'../layout_assets/bootstrap-datepicker'
},
shim: {
underscore:{
exports:"_"
},
Backbone:{
deps: ['underscore','jquery'],
exports: "Backbone"
},
dt: {
deps:['jquery'],
exports: "dt"
},
dtPlugins: {
deps:['jquery','dt'],
exports:"dtPlugins"
},
bootstrap: {
deps:['jquery'],
exports:"bootstrap"
},
dtBootstrap: {
deps: ['dt','jquery'],
exports: "dtBootstrap"
},
datepicker:{
deps:['jquery','bootstrap'],
exports:"datepicker"
}
}
});
define(['Backbone',
'underscore',
'jquery',
'datepicker',
'models/reports',
'dtBootstrap',
'bootstrap',
'text!templates/reports/dashboard.html',
],function(Backbone,_,$,dp,report,dtBootstrap,bootstrap,dashboard){
var view=Backbone.View.extend({
el:"#content-wrap",
template:_.template(dashboard),
render:function(){
this.$("#container-left").html(this.template());
console.log(dp);
}
});
return view;
});
现在,在我的一个视图中,我这样称呼datepicker:
require.config({
baseUrl: "appjs",
paths:{
jquery: '../layout_assets/assets/js/libs/jquery-1.8.2.min',
dt: '../layout_assets/plugins/datatables/jquery.dataTables.min',
dtPlugins:'../layout_assets/plugins/datatables/dtplugins',
dtBootstrap: '../layout_assets/plugins/datatables/dataTables.bootstrap',
underscore: '../assets/js/underscore-min',
Backbone: '../assets/js/backbone-min',
bootstrap: '../assets/js/bootstrap.min',
datepicker:'../layout_assets/bootstrap-datepicker'
},
shim: {
underscore:{
exports:"_"
},
Backbone:{
deps: ['underscore','jquery'],
exports: "Backbone"
},
dt: {
deps:['jquery'],
exports: "dt"
},
dtPlugins: {
deps:['jquery','dt'],
exports:"dtPlugins"
},
bootstrap: {
deps:['jquery'],
exports:"bootstrap"
},
dtBootstrap: {
deps: ['dt','jquery'],
exports: "dtBootstrap"
},
datepicker:{
deps:['jquery','bootstrap'],
exports:"datepicker"
}
}
});
define(['Backbone',
'underscore',
'jquery',
'datepicker',
'models/reports',
'dtBootstrap',
'bootstrap',
'text!templates/reports/dashboard.html',
],function(Backbone,_,$,dp,report,dtBootstrap,bootstrap,dashboard){
var view=Backbone.View.extend({
el:"#content-wrap",
template:_.template(dashboard),
render:function(){
this.$("#container-left").html(this.template());
console.log(dp);
}
});
return view;
});
这将在控制台上返回undefined。我猜库没有正确填充。查看
日期选择器的源代码,它看起来实际上没有导出任何内容-这就是为什么requirejs
找不到要“连接”的全局dt
变量的原因(window.dt
,如果在浏览器环境中运行)。根据datepicker
的网站,它只是将其功能添加到jQuery对象中,不应该作为独立实例使用。来自its的示例:
$('#dp5')。日期选择器()
.on('changeDate',功能(ev){
如果(ev.date.valueOf()
}))
你试过那样的东西吗
我认为在这种情况下不需要填隙。这是我使用的填隙片:
"datepicker" : {
deps: ["jquery-ui", "bootstrap"],
exports: "$.fn.datepicker"
}
为了
我有同样的问题。我也有同样的问题。你有没有找到解决这个问题的方法?jQueryUI有必要吗?