我遇到了瞬间和角度过滤器的问题

时间:2015-12-16 15:24:33

标签: javascript jquery angularjs momentjs

这在jsfiddle更新之前有效,现在它不起作用。欢迎任何帮助。

这是HTML

<div ng-app="app" ng-controller="ctrl">

    {{ date | date: 'MM-dd-yy' }} <br/> <br/>

    {{ date | date: 'MMM-dd-yyyy' }} <br/> <br/>

    {{ date | date: 'MMMM-dd-yyyy' }} <br/> <br/>

    {{ d | date: 'MM/dd/yy' }} <br/> <br/>

    {{ d | date: 'MMM/dd/yyyy' }}

</div>

...这里是Javascript

var app = angular.module("app", []);
app.constant("moment", moment);

app.controller("ctrl", function($scope, moment) {
    $scope.d = new Date();
    $scope.date = new moment();
    $scope.getRandomDate = function(){
        var year = Math.floor(Math.random() * 2) + 2014;
        var month = Math.floor(Math.random() * 12) ;
        var day = Math.floor(Math.random() * 31);
        return moment([year, month, day]).toDate();
   };
   $scope.date = $scope.getRandomDate(); 

});

https://jsfiddle.net/galnova/tkchx8me/8/

2 个答案:

答案 0 :(得分:3)

将模块angularMoment添加为您的应用模块的依赖项

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

答案 1 :(得分:1)

您需要做的就是在JSFiddle的外部依赖项中使用https版本的moment.min.js

如果您在原始小提琴中查看浏览器控制台,您会看到:

  

混合内容:&#39; https://fiddle.jshell.net/galnova/tkchx8me/8/show/&#39;是通过HTTPS加载的,但请求了一个不安全的脚本&#39; http://cdnjs.cloudflare.com/ajax/libs/moment.js/2.6.0/moment.min.js&#39;。此请求已被阻止;内容必须通过HTTPS提供。

因此,您需要做的就是通过HTTPS提供您的时刻依赖性。

这是我对你的小提琴的唯一改变:https://jsfiddle.net/w2u6LL6z/

现在,它正在运作!