diff --git a/holoviews/util/__init__.py b/holoviews/util/__init__.py index 98e9a53c4b..d4f5eac895 100644 --- a/holoviews/util/__init__.py +++ b/holoviews/util/__init__.py @@ -921,6 +921,11 @@ def _eval_kwargs(self): for k, v in self.p.kwargs.items(): if util.is_param_method(v): v = v() + elif isinstance(v, FunctionType) and hasattr(v, '_dinfo'): + deps = v._dinfo + args = (getattr(p.owner, p.name) for p in deps.get('dependencies', [])) + kwargs = {k: getattr(p.owner, p.name) for k, p in deps.get('kw', {}).items()} + v = v(*args, **kwargs) evaled_kwargs[k] = v return evaled_kwargs