有时在加载页面时,SELECT *
FROM Table1
WHERE
Table1.Field1 = [Criteria]
or
Table1.Field1 is null and
not exists
(SELECT *
FROM Table1
WHERE
Table1.Field1 = [Criteria])
不会被触发并抛出错误。
所以,每当$ translate准备就绪时,我需要调用translateChangeSuccess
。如何以适当的方式做到这一点?
这不起作用。它没有进入'$ translateReady'功能。
$translateChangeSuccess
但是,如果我使用这个功能,它就会进入函数
$rootScope.$on('$translateReady', function () {
console.log("It enterd Translate ready"+$translate.isReady());
$rootScope.$on('$translateChangeSuccess', myfunction());
});
我需要在准备就绪时致电$translate.onReady().then(function() {
console.log("It enterd Translate ready"+$translate.isReady());
$rootScope.$on('$translateChangeSuccess', myfunction());
});
。我能怎么做 ?如果有人知道请帮忙。谢谢!
答案 0 :(得分:1)
您可以在根范围内广播,并在您想要的任何范围内收听它。此外,您不必在上一个事件处理程序中调用它,实际上您正在执行的是在$translateChangeSuccess
触发时添加事件侦听器(又名$translateReady
)。
无论如何,请考虑使用这种方式:
$translate.onReady().then(function() {
console.log("It enterd Translate ready"+$translate.isReady());
$rootScope.$broadcast('$translateChangeSuccess');
});
$rootScope.$on('$translateChangeSuccess', myfunction);
function myfunction(){
console.log("myfunction called");
}