我正在使用Angular JS和Angular UI(通过gem:angular-ui-rails),今天我遇到了模块依赖。 如果有人有想法!
我想在我的应用上添加可排序模块(https://github.com/angular-ui/ui-sortable),如下例所示:
问题是我已经加载了UI-bootstrap模块,所以我尝试这样做:
angular.module('ui', ['ui.bootstrap','ui.sortable']);
on controllers.js
function dndCtrl($scope) {
$scope.list = ["one", "two", "three", "four", "five", "six"];
}
在应用中加载了sortable.js file。 js的顺序是:
//= require jquery
//= require jquery_ujs
//= require underscore
//= require angular.min
//= require ./angular/controllers/app.js
//= require_tree ./angular
//= require_tree .
所以sortable.js文件在app.js之后和ui-bootstrap js文件之前加载(在./angular树中)
然后是:我的html文件带有一个带有角度的简单列表循环:
<html ....... ng-app="ui">
.....
<div ng-controller="dndCtrl">
<ul ui-sortable ng-model="list">
<li ng-repeat="item in list" class="item">{{item}}</li>
</ul>
<hr />
</div>
循环运行良好,UI引导程序(在我的情况下也是Typeahead)但不可排序和控制台呈现
TypeError: Object [object Object] has no method 'sortable'
我做错了什么或错过了什么?
答案 0 :(得分:23)
UI-sortable取决于jQuery UI。它看起来并不像你包含了jQuery UI JavaScript文件。请注意,您可以包含整个jQuery UI库,也可以仅使用可排序模块创建自定义构建。