2015-09-05 83 views
0

是否有可能访问注入的外部控制器上的依赖关系?尝试访问控制器外部的注入依赖关系

function clienteCreateController(ClientesService, recuperarEndereco) { 
 
    var vm = this; 
 

 
    vm.pesquisarCep = pesquisarCep; 
 
} 
 

 

 
function pesquisarCep(cep) { 
 
    recuperarEndereco.find(cep) 
 
    .success(function(data) { 
 
     parseEndereco(data).bind(this); 
 
    }) 
 
    .error(function(err) { 
 
     // showAlertDanger(vm, 'Cep inválido.'); 
 
     console.log(err); 
 
    }); 
 
}

我打电话从一个按钮点击方法。

感谢

+0

你能仅在你的控制器体内定义vm.pesquisarCep吗? –

+0

我试图在外面声明它,因为它在另一个地方使用。 – wribeiro

回答

0

我不认为你可以在外面的功能pesquisarCep访问参数recuperarEndereco。因为在函数pesquisarCep的执行上下文中,变量是recuperarEndereco根本没有声明。与此JSFiddle相同:http://jsfiddle.net/dLhmozf3/。它报告错误:

function outsite() { 
    console.log('param: ' + param); 
} 

var f = function (param) { 
    var me = outsite; 
    me(); 
}; 

f(); 

您需要定义像外面功能:function pesquisarCep(cep, recuperarEndereco) { ...。并称之为pesquisarCep(cep, recuperarEndereco)

+0

感谢您的回答。我认为这是一些关于闭包的JavaScript魔法,或者是让我访问在控制器函数中声明的变量的东西。 – wribeiro