Angular-moment - 无法读取未定义的属性'utc'

Spe*_*her 2 javascript angularjs momentjs

我正在尝试使用angular-moment的指令,am-time-go但是我收到以下错误:

TypeError: Cannot read property 'utc' of undefined
Run Code Online (Sandbox Code Playgroud)

我在像这样的简单控制器中使用它(在玉器中):

    span(am-time-ago="myItem.date")
Run Code Online (Sandbox Code Playgroud)

我的约会工作正常,其格式如下:

2014-10-29T23:31:23Z
Run Code Online (Sandbox Code Playgroud)

我也尝试过配置我的模块:

myApp.constant('angularMomentConfig', {
    preprocess: 'utc',
    timezone: 'Europe/Berlin'
});
Run Code Online (Sandbox Code Playgroud)

但没有任何作用.这个问题源于哪里?

非常感谢

syl*_*ter 12

请参阅下面的工作示例.确保您已引用所有脚本,并且它们的顺序正确

var app = angular.module('app', ['angularMoment']);

app.constant('angularMomentConfig', {
  preprocess: 'utc',
  timezone: 'Europe/Berlin'
});

app.controller('firstCtrl', function($scope) {
  $scope.myItem = {
    date: "2014-10-29T23:31:23Z"
  };
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.22/angular.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.8.3/moment.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/angular-moment/0.8.2/angular-moment.js"></script>

<body ng-app="app">
  <div ng-controller="firstCtrl">


    <span am-time-ago="myItem.date"></span>
  </div>
</body>
Run Code Online (Sandbox Code Playgroud)


小智 9

我遇到了这个问题,直到我在angular-moment.js脚本标记之前移动了moment.js脚本标记.尝试按此顺序放置脚本标记...

<script src="/Scripts/moment.js"></script>
<script src="/Scripts/angular-moment.js"></script>
Run Code Online (Sandbox Code Playgroud)