2016-11-27 89 views
0

我是一個用戶登錄後,希望在我可以加載一個控制器登錄鑑於角UI路由器作爲簡單,因爲這:

"[email protected]":{ 
    templateProvider: function($http, $stateParams) { 
     return $http({ 
     method: 'GET', 
     url: '/homeV' 
     }).then(function successCallback(html) { 
     return html.data; 
     }); 
     }, 
    controllerProvider: function($http, $stateParams) { 
     return $http({ 
     method: 'GET', 
     url: '/homeC' 
     }).then(function successCallback(html) { 
     return html.data; 
     }); 
    } 
     } 

但是控制器不模板,看起來並不像我希望的那樣容易。這裏有很多關於類似問題的問題,但是如果我不需要,我不想使用Require.js。

Require.js是唯一的選擇嗎?如果是的話,我會試驗一下,但我想確保我不會錯過任何東西。

+0

你想登錄成功後加載js或html嗎? – Aravind

+0

@Aravind是的,因爲我不想用一大堆只爲認證用戶需要的邏輯來加載SPA。我希望它是模塊化的,並且只有在進入該狀態時才讓控制器加載該狀態。那有意義嗎? –

+0

你是否正在尋找一個選項來動態加載js文件,只有在特定模塊正在運行時才能加載? – Aravind

回答

1

由於穆利說檢查oclazyload。另外,我有我自己的答案在這個post

我用了兩個模塊,並注入各自的控制器,只有當我在那裏用決心選擇做自己的狀態處於活動狀態。有些事情是這樣的

resolve: { 
      loadMyCtrl: ['$ocLazyLoad', function ($ocLazyLoad) { 
      return $ocLazyLoad.load('someModule.js'); 
      }] 
     } 

oclazyload的文檔部分不清楚。可能你可以看看我的朋友here

+0

請看看,謝謝。 –

+0

我的狀態是嵌套的,並且不起作用。該文檔提到有兩個解決方案,一個爲父母和一個爲孩子......但我不明白爲什麼如果我真的不想在這種情況下延遲加載負載進入子狀態時。 –

+0

是的夥計。我需要更多的澄清你的問題! – Aravind