这个让我感到困惑。我看得远远超出了想法。在我的搜索中,我发现加载多个函数调用的一个常见原因是你在路由和ngController指令中定义了一个控制器。检查过这个 - 我不使用ngController。我也检查了我的路线 - 似乎是有序的。没有$ watch功能可能导致$ digest问题。这个函数在函数的底部被调用一次,console.log被注销5x ...每个时间。我甚至设置了$ timer功能,它仍称它为5x。尝试创建一个变量,只有在之前没有运行的情况下运行,但似乎这一切都发生在getQuotas()方法中。任何帮助将不胜感激!
function getQuotas ()
{
console.log('getQuotas'); //This logs out 5x
UserService.getQuotas()
.then(function(res)
{
if (res.data.success)
{
quotaData = res.data.data;
getQuotas_success();
return true;
}
else
{
getQuotas_failure();
return false;
}
}, function (err)
{
getQuotas_failure();
return false;
});
}
getQuotas(); //Function is called here.
答案 0 :(得分:0)
解决了!我希望这能帮助别人。此页面上的4个输入字段中的每一个都有一个自定义属性指令。该特定指令使用与页面本身相同的控制器。所以控制器总共加载了5次。幸运的是,这个指令现在已被弃用,但我可能会通过创建指令级控制器并在指令的返回对象中使用'require'属性,指向页面级控制器来重做它,或者只是拥有数据需要在页面级控制器和指令之间传递通过服务。