2016-02-23 43 views
0

請幫幫我,角度噴油器誤差未知的提供

我有一個控制器是這樣的:

showAlert下面是從一個按鈕觸發NG單擊= showAlert(data.nip)

var showAlert = function ($scope, $modal, $log, nip) { 
    var modalInstance = $modal.open({ 
     templateUrl: 'public/js/modal.html', 
     controller: ModalInstanceCtrl, 
     resolve: { 
      nip: function() { 
       return nip; 
      } 
     } 
    }); 
} 
showAlert.$inject = ['$scope', '$modal', '$log', 'nip']; 

var ModalInstanceCtrl = function ($scope, $modalInstance, nip) { 
    $scope.nip = nip; 
    console.log("Nilai NIP : "+nip) 
}; 

從狀態:

.state('masterpegawai.alltalenta.modal', { 
     url: '/modal', 
     views:{ 
      "modal": { 
      controller: showAlert, 
      } 
     } 
    }) 

它拋出的錯誤是這樣的:

Error: [$injector:unpr] Unknown provider: nipProvider <- nip 
+1

顯然還沒有包含'nip'模塊文件,你沒有打擾搜索你的錯誤,因爲可能有幾百個這樣的錯誤漂浮在 – maurycy

+0

嗨maurycy,我是新角度,實際上我傾向於從showAlert(data.nip)傳遞data.nip,以便它可以顯示在模態對話框中通過解析:{ nip:function(){ return nip; } } –

+0

'nip'不存在,它必須被定義爲服務,工廠或指令,然後你可以注入它。它相當於調用一個尚未定義的函數 – maurycy

回答

-1

你試圖注入nip,但是從你的代碼,你想作爲參數傳遞:

showAlert.$inject = ['$scope', '$modal', '$log', 'nip']; <-- You can't inject 'nip' 
+0

這是正確的,模塊'nip'不可用 – maurycy

+0

那麼如何從showAlert(data.nip)傳遞data.nip,以便它可以傳遞以解析? –

+0

我會將控制器從打開模態的函數中分離出來,然後注入模態並將參數傳遞給函數 –

相關問題