2017-02-22 51 views
0

生成的實體頁上的錯誤當我嘗試通過Jhipster生成的實體使用分頁欄改變,得到下面的JavaScript錯誤:沒有定義$狀態

我評估JHipster版本4.0.5框架與angularJS版本1到clientFramework。所有實體均通過命令生成jhipster:實體實體名稱使用分頁選項。

問題出在entitycontroller.js生成'狀態'變量在控制器注入時丟失。例如

EntityController.$inject = ['Entity', 'ParseLinks', 'AlertService', 'paginationConstants','$state'] 

您可以在下一版本中解決此問題嗎?

+0

這應該在相應存儲庫的問題部分創建:https://github.com/jhipster/generator-jhipster/issues –

回答

0

您必須修改_entity-management.controller.js

該文件位於目錄: ../node_modules/generator-jhipster/generators/entity/templates/client/angularjs/ SRC /主/ web應用/應用/實體/ _entity-management.controller.js

您需要在$注入和功能的代碼添加$狀態變量。在這裏,您已經爲jhipster 4.0.5發行版更改了代碼:

(function() { 
    'use strict'; 

    angular 
     .module('<%=angularAppName%>') 
     .controller('<%= entityAngularName %>Controller', <%= entityAngularName %>Controller); 

    <%= entityAngularName %>Controller.$inject = [<% if (fieldsContainBlob) { %>'DataUtils', <% } %>'<%= entityClass %>'<% if (searchEngine == 'elasticsearch') { %>, '<%= entityClass %>Search'<% } %><% if (pagination != 'no') { %>, 'ParseLinks', 'AlertService', 'paginationConstants', '$state'<% } %> <%_ if (pagination == 'pager' || pagination == 'pagination'){ %>, 'pagingParams'<% } %>]; 

    function <%= entityAngularName %>Controller(<% if (fieldsContainBlob) { %>DataUtils, <% } %><%= entityClass %><% if (searchEngine == 'elasticsearch') { %>, <%= entityClass %>Search<% } %><% if (pagination != 'no') { %>, ParseLinks, AlertService, paginationConstants, $state<% } %> <%_ if (pagination == 'pager' || pagination == 'pagination'){ %>, pagingParams<% } %>) { 

     var vm = this; 

     <%_ if (pagination == 'pagination' || pagination == 'pager') { _%> 
<%- include('pagination-template'); -%> 
     <%_ } else if (pagination == 'infinite-scroll') { _%> 
<%- include('infinite-scroll-template'); -%> 
     <%_ } else { _%> 
<%- include('no-pagination-template'); -%> 
     <%_ } _%> 
    } 
})(); 

我希望它是有用的。