我有一个自定义窗体指令,可能每页使用多次。我需要这些指令的总数,因此增加了一个指令配置物体之外,即每次加载某个页面时调用一次方法(AngularJS)
module.directive("customInput", [
function()
{
/*
* Because each instance of the directive will get its own
* instance of the return object, we have to declare groupCount
* here, instead of inside the post-link function where it's used.
*/
var groupCount = {};
return { ...configObj... }
}
]);
的问题是,这个计数跨越的意见仍然存在。我将它移动到一个服务,并给它一个重置方法,但我需要一种方法来调用该方法每页只有一次。
我不想添加一个$routeChangeSuccess
侦听器,因为对于使用这些输入的少数页面来说这似乎太重了。我不能在指令的控制器中执行它(例如$watch("$viewContentLoaded")
),因为它会执行多次。
我不想把个人视图控制器的负担,如果有办法做一次。有没有(也许有一个“父母”指令)?
减少'$ destroy'是个不错的主意。我用自己的回答扩展了这一点。 – N13