Javascript 尝试访问控制器方法外部的注入依赖项
有可能访问控制器外部的注入依赖项吗Javascript 尝试访问控制器方法外部的注入依赖项,javascript,angularjs,Javascript,Angularjs,有可能访问控制器外部的注入依赖项吗 函数clienteCreateController(clienteService,RecurperateRenderCo){ var vm=这个; vm.pesquisarCep=pesquisarCep; } 函数pesquisarCep(cep){ 可重复使用记录查找(cep) .成功(功能(数据){ parseEndereco(数据).bind(此); }) .error(函数(err){ //showAlertDanger(vm,“Cep invál
函数clienteCreateController(clienteService,RecurperateRenderCo){
var vm=这个;
vm.pesquisarCep=pesquisarCep;
}
函数pesquisarCep(cep){
可重复使用记录查找(cep)
.成功(功能(数据){
parseEndereco(数据).bind(此);
})
.error(函数(err){
//showAlertDanger(vm,“Cep inválido.”);
控制台日志(err);
});
}
我认为您无法在外部函数pesquisarCep
中访问参数recurperrendereco
。因为在函数pesquisarCep
的执行上下文中,变量是recurperarrendereco
,所以根本没有声明。与此JSFIDLE相同:。它报告错误:
function outsite () {
console.log('param: ' + param);
}
var f = function (param) {
var me = outsite;
me();
};
f();
您需要像这样定义外部函数:
function-pesquisarCep(cep,recurperrendereco){…
,并像pesquisarCep(cep,recurperrendereco)那样调用它
你能只在你的控制器主体内定义vm.pesquisarCep吗?我试图在外部声明它,因为它在其他地方使用。谢谢你的回答。我认为这是一种javascript魔术,带有闭包或任何东西,可以让我访问控制器函数中声明的变量。