0

我需要这样的东西,但它不起作用

.directive('dateTime', function(){
        return {
            restrict: 'E',
            replace: true,
            scope:'=value',
            template: "<div>{{value.format('mmm dd yy')}}"</div>", 
                                    // ^here: applying a function to the scope  
         };
    });
4

2 回答 2

1

您已经创建了一个隔离范围,scope: '=value'因此这是一个全新的范围,它在原型上不会从父范围继承。这意味着您要调用的任何函数都必须来自

  1. 您注入指令的服务、过滤器等
  2. 另一个指令的控制器,用于require获取访问权限(参见Angular 主页上的tabsand指令示例)pane
  3. 您在指令的控制器或 $scope 上的链接函数中定义的函数(本质上是相同的)示例:https ://stackoverflow.com/a/14621193/215945
  4. 使用“&”语法使指令能够调用在父作用域上声明的函数。示例:实现在 AngularJS 中提交时需要禁用的按钮的最佳方法是什么?
于 2013-02-04T21:48:09.370 回答
0

您可能只是在寻找日期过滤器

{{value | date:'MMM dd yy'}}

但你也可以这样做:

app.directive('dateTime', function(){
        return {
            restrict: 'E',
            replace: true,
            scope:'=value',
            template: "<div>{{value | date:'MMM dd yy')}}"</div>", 
                                    // ^here: applying a function to the scope  
         };
    });
于 2013-02-04T20:41:19.393 回答