AngularJS与Angular-ui-router和jQuery-File-Upload

Daa*_*aan 5 file-upload angularjs angular-ui jquery-file-upload angular-ui-router

我正在使用angular-ui-router来控制我的AngularJS应用程序中的状态.在一个部分我使用jquery-file-upload.我遇到的问题是,当我使用jquery-file-upload给出示例时,是它在模板中定义控制器,如下所示:

<!-- The file upload form used as target for the file upload widget -->
<form id="fileupload" action="//jquery-file-upload.appspot.com/" method="POST" 
  enctype="multipart/form-data" data-ng-app="demo" 
  data-ng-controller="DemoFileUploadController" data-file-upload="options" 
  data-ng-class="{'fileupload-processing': processing() || loadingFiles}">
... 
</form>
Run Code Online (Sandbox Code Playgroud)

表单标签有data-ng-controller="DemoFileUploadController".在我的控制器中,这将创建所需的所有文件上载方法(如$scope.submit()$scope.queue)

问题是我定义了我的控制器angular-ui-router风格,如下所示app.js:

$stateProvider.state('upload', {
  url: "/upload",
  views: {
    "upload": { 
      templateUrl: "app/partials/upload.html", 
      controller: 'DemoFileUploadController' 
    },
  }
})
Run Code Online (Sandbox Code Playgroud)

但是这段代码会导致我的文件上传方法,而不是在我的控制器中加载(或绑定)(没有$scope.submit()$scope.queue).

有没有办法一起使用angular-ui-router和jquery-file-upload?

Daa*_*aan 1

我的解决方法是在定义状态时简单地省略控制器:

$stateProvider.state('upload', {
  url: "/upload",
  views: {
    "upload": { 
      templateUrl: "app/partials/upload.html"
    },
  }
})
Run Code Online (Sandbox Code Playgroud)

这样我就可以在模板中分配控制器(如示例中所示data-ng-controller="DemoFileUploadController")。我仍在寻找一种通过 stateProvider 分配控制器的方法。