我正在 ui-sortable 的帮助下创建一个带有可拖动行的表格
<tbody ui-sortable="sortableOptions" ng-model="model.list">
<tr ng-repeat="item in model.list">
<td>
<div class="form-group">
<input type="text" class="form-control test-input" ng-model="item.Country" ng-readonly="!isEditable">
</div>
</td>
<td>
<div class="form-group">
<input type="text" class="form-control test-input" ng-model="item.Value" ng-readonly="!isEditable">
</div>
</td>
</tr>
这是控制器中的代码。
$scope.sortableOptions = {
update: function(e, ui) {
console.log(model.list);
},
stop: function(e, ui) {
console.log(model.list);
}
};
我已经使用了 require.js 并在那里添加了依赖项
ui.sortable
。
每当我打开包含此表的页面时,都会收到此错误 -
angular.js:12520
TypeError: g.sortable is not a function
at w (http://localhost:90/bower_components/angular-ui-sortable/sortable.min.js:8:4649)
at x (http://localhost:90/bower_components/angular-ui-sortable/sortable.min.js:8:4721)
at link (http://localhost:90/bower_components/angular-ui-sortable/sortable.min.js:8:5003)
at http://localhost:90/bower_components/angular/angular.js:8835:44
at invokeLinkFn (http://localhost:90/bower_components/angular/angular.js:8841:9)
at nodeLinkFn (http://localhost:90/bower_components/angular/angular.js:8335:11)
at compositeLinkFn (http://localhost:90/bower_components/angular/angular.js:7731:13)
at nodeLinkFn (http://localhost:90/bower_components/angular/angular.js:8330:24)
at compositeLinkFn (http://localhost:90/bower_components/angular/angular.js:7731:13)
at compositeLinkFn (http://localhost:90/bower_components/angular/angular.js:7734:13) <tbody ui-sortable="sortableOptions" ng-model="model.list" class="ng-pristine ng-untouched ng-valid ng-isolate-scope">
你能帮我一下吗? 预先感谢
ui-sortable 依赖于 jQuery,jQuery UI 1.9+。检查 ui-sortable js 文件之前是否有这些依赖项,然后您应该将 ui.sortable 注入到正确的模块中
angular.module('myapp', ['ui.sortable']);
任何面临同样问题但似乎一切都正确的人,例如;
1. jQuery is loaded.
2. angular-ui-sortable is being loaded correctly.
3. You've injected its dependency.
angular.module('myapp', ['ui.sortable']);
4. The code appears to be correct in the view
确保您已在
jquery-ui
之后和 jquery
js 文件之前包含 sortable
。我遇到了同样的问题,经过一段时间的头痛后,我发现了这个解决方案在这个线程中。
AngularJS v1.2+
JQuery v3.1+
JQueryUI v1.12+
如果使用 jQuery v1.x 和 v2.x,则添加 UI.Sortable v0.14.x 版本