繁体   English   中英

AngularJS在控制器中应用过滤器

[英]AngularJS apply filter in controller

我的AngularJS Web应用程序和过滤器中有root控制器。 如果我将其应用到html模板中,则过滤器可以工作,但是如果我尝试在控制器中应用过滤器,则它无法工作。

function Controller ( ... deps ...) {
    filter = $filter('my_filter');
    $scope.$apply(function(){$scope.error_message =  filter('ERROR');});
}

filter必须将简单的error字符串返回给<p> ,它不起作用。

如果我做:

<p>{{'....' | my_filter}}</p>

有用。 为什么?

谢谢。

不要包装$scope.error_message = filter('ERROR'); $scope.$apply -这将导致错误,因为在摘要周期中调用了Controller。

这应该工作:

function Controller ($filter ... other deps ...) {
  var filter = $filter('my_filter');
  $scope.error_message =  filter('ERROR');
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM