[英]Using moment.js in an Angular view
我試圖評估大括號{{}}
moment()
以顯示日期:
{{ moment().date(timeslot.start.value.month)
.month(timeslot.start.value.dayOfMonth - 1)
.format("MMMM Do")
}}
但是,這沒有呈現HTML。 都設置了month
和dayOfMonth
,並且正確拉動了moment.js,因為如果我嘗試console.log()
某個日期,例如moment().date(6).month(6).format("MMMM Do")
它將返回如預期的"July 6th"
。
我是否缺少明顯的東西?
你有沒有看過像角矩這樣的角包裹器? 就jQuery和Javascript庫而言,使用包裝器路線總是可以省去一些麻煩。
<body ng-controller="MainCtrl">
<p>Hello {{name}}!</p>
<span>{{myDate| amUtc | amLocal | amDateFormat:'MMMM Do'}}</span>
</body>
在應用程序中,我將myDate分配給當前日期:
var app = angular.module('plunker', ['angularMoment']);
app.controller('MainCtrl', function($scope) {
$scope.name = 'World';
$scope.myDate = new Date();
});
嘗試將值分配給控制器中的$ scope變量,然后將其用大括號括起來
在您的控制器中:
$scope.time = moment().date(timeslot.start.value.month)
.month(timeslot.start.value.dayOfMonth - 1)
.format("MMMM Do")
在您的html中:
{{time}}
基本上,只能通過雙花括號或ng-bind在視圖中訪問附加到“ this”或“ $ scope”的內容。 您必須將其分配給視圖附帶的控制器范圍。
將瞬間操作放到大括號中並不能很好地工作,因為我不認為Angular可以插值一個外部庫及其方法,但是它可以做更簡單的選擇,如您所見。
鏈moment
在應用程序/ app.run.js的rootScope:
$rootScope.moment = $window.moment;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.