【问题标题】:AngularJS - jQuery - ui-sortable g.sortable is not a functionAngularJS - jQuery - ui-sortable g.sortable 不是函数
【发布时间】:2017-02-23 23:53:45
【问题描述】:

我正在 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">

你能帮帮我吗? 提前致谢

【问题讨论】:

    标签: jquery angularjs requirejs jquery-ui-sortable


    【解决方案1】:

    ui-sortable 依赖于 jQuery,jQuery UI 1.9+。在 ui-sortable js 文件之前检查你是否有这些依赖项,那么你应该将 ui.sortable 注入正确的模块 angular.module('myapp', ['ui.sortable']);

    【讨论】:

    • 我使用的jQuery版本是2.1,ui.sortable的注入也是正确的。
    • 我还有什么遗漏的吗?
    • 你添加了 jQuery UI 吗?
    • 需要配置导致问题...注入是正确的。
    【解决方案2】:

    任何面临同样问题但似乎一切都正确的人;

    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 之后和sortable js 文件之前包含jquery-ui。我遇到了同样的问题,在头痛欲裂之后找到了这个解决方案here in this thread

    【讨论】:

      猜你喜欢
      • 2017-12-09
      • 1970-01-01
      • 2014-10-10
      • 2011-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-02
      相关资源
      最近更新 更多