我想在我的应用程序中的所有元素上观看我的隐藏和显示表达式。
我知道我可以通过用一个只返回参数的函数包装 show 指令来做到这一点:
<div ng-show="catchShow(myShowExpr == 42)"></div>
但是,我想在我的应用程序中观看所有输入的所有隐藏/显示,而上述内容还不够好。
尽管我需要重新评估表达式,但我也可以重载ngShow
/指令。ngHide
我也可以只修改源代码,因为它非常简单:
var ngShowDirective = ['$animator', function($animator) {
return function(scope, element, attr) {
var animate = $animator(scope, attr);
scope.$watch(attr.ngShow, function ngShowWatchAction(value) {
var fn = toBoolean(value) ? 'show' : 'hide';
animate[fn](element);
//I could add this:
element.trigger(fn);
});
};
}];
虽然那时我无法使用 Google CDN...
有没有人能想到的更好的方法来做到这一点?