0

gem 'jquery-ui-rails'在 gem 文件中使用了 ,但不确定如何使用 require 使其工作,因为它模块化了 JS 文件和主干,因为它添加了整个客户端框架。

应用程序.css(导轨):

 *= require bootstrap
 *= require jquery.ui.all
 *= require_self
 *= require_tree .
*/

应用程序.js(导轨):

require([
 'APP'
], function(Application){
  Application.initialize(App.options);
});

可移动对象.html(主干模板):

<div id="draggable" class="btn-group" data-toggle="buttons-radio">
</div>

我尝试$(function() {$( "#draggable" ).draggable();})在不同的地方调用该函数(主干视图,在应用程序中较高),但要么得到没有定义 jQuery(在应用程序加载中太高),要么对象没有函数 draggable() (让我相信 jQuery UI 的 JS 尚未加载)。

我也有jquery-ui-1.10.3.custom.cssjquery-ui-1.10.3.custom.min.css在我直接放在那里的样式表文件夹中。

4

1 回答 1

3

到 requirejs.yml 文件:

modules:
  - name: 'backbone'
  - name: 'routers'

shim:
  'underscore':
    deps: ['jquery']
    exports: '_'
  'backbone':
    deps: ['underscore', 'jquery']
    exports: 'Backbone'
  'jquery-ui':
    deps: ['jquery']
    exports: '$'

到文件中命名的 JS 文件application.js,在这种情况下APP.js是因为'APP'

//APP.js
define([
  'jquery',
  'underscore',
  'backbone',
  'backbone/routers/router',  
  'd3',
  'jquery-ui'
], function($, _, Backbone, Router, d3, $){
  var initialize = function(options){
    Router.initialize(options);
  }
  return {
    initialize: initialize
  };
});
于 2013-06-17T18:02:16.683 回答