扩展时钟组件的角度指令以单独显示日期时间元素
Extend an Angular Directive for a clock component to separately display datetime elements
我想知道如何最好地创建封装时钟组件的角度指令。
组件需要将时间放置在只读输入元素中,在显示时间两侧的两个跨度元素之间划分天、周、月、年。
到目前为止,我只得到了针对1个html元素的时钟输出。
我一直在Angular文档中的示例基础上构建(请参阅https://docs.angularjs.org/guide/directive"创建一个操作DOM的指令"),但由于不需要动态格式选项,因此删除了该选项,并使用momentjs根据自己的喜好应用静态日期格式。
(function() {
"use strict";
var app = angular
.module('labourRecordingApp')
.directive('entryFormClock', ['$interval',
function($interval) {
return function(scope, element, attrs) {
var stopTime;
function updateTime() {
var now = moment();
var nowClockDate = moment(now).format("dddd, MMMM Do YYYY");
var nowClockTime = moment(now).format("HH:mm:ss");
var nowClockWeek = "Week " + moment(now).format("W.E");
element.text(nowClockDate + " " + nowClockTime + " " + nowClockWeek);
}
stopTime = $interval(updateTime, 1000);
element.on('$destroy', function() {
$interval.cancel(stopTime);
});
}
}
]);
}());
<span entry-form-clock></span>
所以我需要一些标记,如下所示,但我不确定Angular方面。
<span>day month</span>
<input type="text" readonly="true" value="timeonly" />
<span>year week.day</span>
我认为这最好在模板html中实现,但需要一些操作帮助。
除此之外,这个SPA将连续运行数天和数周,浏览器将处于生产车间应用程序的信息亭模式。我在这里唯一的观点是,天、月、年也需要有活力。
app
.directive('entryFormClock', ['$interval',
function($interval) {
return {
template: '<div>{{yymmdd}}<input type="text" value="{{min}}"></div>',
replace: true,
link: function(scope, element) {
var stopTime;
function updateTime() {
var d = new Date();
scope.yymmdd = [d.getMonth()+1,
d.getDate(),
d.getFullYear()].join('/');
scope.min = [d.getHours(),
d.getMinutes(),
d.getSeconds()].join(':');
}
stopTime = $interval(updateTime, 1000);
element.on('$destroy', function() {
$interval.cancel(stopTime);
});
}
};
}
]);
它显示了两个独立的子项,相应地更新您的代码。
相关文章:
- 使用简单的JavaScript或jQuery单独识别每个选择选项,并在DIV中显示
- 显示单独数组中两个数组的相同元素
- 如何获得添加多个文本框'使用jQuery在另一个单独的文本框中显示s值
- 单击时将嵌套数组/对象值显示到单独的元素中
- 如何用图形填充流星集合并单独显示它们
- JavaScript 循环访问嵌套对象并显示在单独的行中
- 根据单独选择的选项显示 HTML 选项
- 在 CSS 中有一个单独的伪选择器,以显示有关一行中多个元素的信息
- 拉斐尔JS - 悬停 - 显示/隐藏单独的 DIV
- 使用 jQuery 在 HTML 表中显示单独的 XML 元素
- 如何使用 JSON 创建链接,单击这些链接时会显示在单独的
- 显示/隐藏元素 + 控制每个元素的单独时间
- 在单独的DIV中显示JQueryAjax响应的不同部分
- 如何从通过json_encode传递的mysqldb中分割行,以在单独的文本框中显示
- 如何以大写字母单独显示下拉列表的选定值
- 在数组中显示特定的对象值,而不是单独显示
- 我如何使用Javascript来处理表单数据&显示单独的结果页面
- 如何显示单独的锂元素滚动基于窗口的高度
- 在select2多选中显示单独的搜索框
- 为什么这个Javascript For循环不显示单独的列表项?