Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 来自模板的Angular JS调用函数,该模板不';不属于这个范围_Javascript_Angularjs - Fatal编程技术网

Javascript 来自模板的Angular JS调用函数,该模板不';不属于这个范围

Javascript 来自模板的Angular JS调用函数,该模板不';不属于这个范围,javascript,angularjs,Javascript,Angularjs,这听起来可能有点奇怪,但我有一个看起来像这样的中继器 <tr ng-repeat="task in tasks"> <td>{{getFriendlyDate(date)}}</td> </tr> $scope.getFriendlyDate = function(date){ /* Code to convert ISO date to readable date */ return date; }; 这很好,但是

这听起来可能有点奇怪,但我有一个看起来像这样的中继器

<tr ng-repeat="task in tasks">
    <td>{{getFriendlyDate(date)}}</td>
</tr>
$scope.getFriendlyDate = function(date){

    /* Code to convert ISO date to readable date */
    return date;

};
这很好,但是我需要在很多模板中使用这个函数,所以我不想复制并粘贴到很多控制器中

一种选择是创建一个服务来完成这项工作,并在每个控制器的作用域上放置一个简单的包装器,但这不会节省我太多时间

另一种选择是将函数放在根作用域上,并直接在模板中访问它,但我更希望它位于我的实用程序库中(我有一个使用工厂创建的$utils库)


我想知道是否可以直接从模板调用服务来进行日期转换?

听起来您需要一个过滤器。创建过滤器一次:

angular.module("myModule").filter('friendlyDate', function() {
     return function(date) {
          /* Code to convert ISO date to readable date */
          return date;
     };
});
然后在您的HTML中随处可见:

<tr ng-repeat="task in tasks">
    <td>{{date | friendlyDate}}</td>
</tr>

{{date | friendlyDate}}

听起来你需要一个过滤器。创建过滤器一次:

angular.module("myModule").filter('friendlyDate', function() {
     return function(date) {
          /* Code to convert ISO date to readable date */
          return date;
     };
});
然后在您的HTML中随处可见:

<tr ng-repeat="task in tasks">
    <td>{{date | friendlyDate}}</td>
</tr>

{{date | friendlyDate}}

您可以尝试创建一个类似于此处所述的自定义角度指令:。我想我可以,但创建指令似乎有些过分。您可以尝试创建一个类似于此处所述的自定义角度指令:。我想我可以,但创建指令似乎有些过分。