Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 尝试访问控制器方法外部的注入依赖项_Javascript_Angularjs - Fatal编程技术网

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魔术,带有闭包或任何东西,可以让我访问控制器函数中声明的变量。