Angularjs - 日期/时间戳

时间:2014-08-08 23:00:23

标签: forms angularjs datetime

我想用angularjs找出一些东西。基本上,今天我决定在表格中添加时间/日期标记。换句话说,当有人试图发布某些内容时,时间和日期就会出现。

由于我有一个带有实时预览的表单,我试图在实时预览中连接时间。之后,时间戳将被公布,以便我可以将评论从最近的评论发布到最近的评论。

我有两个掠夺者。出于某种原因,我无法使代码正常工作。它根本没有出现在实时预览中,而是根本没有出现。它会在表格上。第一个plunker具有最小的最小代码,并显示在以下链接中,而第二个plunker位于此消息的底部。

http://plnkr.co/edit/zgqXGGpoOw3UY90qT23H?p=catalogue

我仍然会在这里显示部分代码,这就是我的问题所在:

 <blockquote ng-repeat="review in product.reviews | orderBy:'date'">
                        <b>Date: {{review.date}}</b>
            </blockquote>


           <form name="reviewForm" ng-controller="ReviewController as reviewCtrl" ng-submit="reviewForm.$valid && reviewCtrl.addReview(product)" novalidate>

                <blockquote>
                    <b>Date: {{reviewCtrl.review.date}}</b>
                    <br/>
                </blockquote>

<!-- DATE AND TIME -->

            <!-- The other time formats are at the bottom of this page -->
            <div ng-controller="timecontoller" ng-init="init();">
            <div ng-model="reviewCtrl.review.date" ng-repeat="date in dates">
                <b>Date: {{date.date1 | datetime}}</b>
            </div>
            </div>

            </form>

虽然第二个plunker具有整个可视部分,因此您可以直观地看到表单(虽然我删除了某些元素以便于查看)。您必须点击“#34; Review&#34;第一

http://embed.plnkr.co/hHm1OPHk1uFD6YP2Roju/preview

1 个答案:

答案 0 :(得分:1)

如果我正确地按照您的代码,您似乎正在尝试使用以下行分配审核日期:

ng-model="reviewCtrl.review.date" 

但它实际上没有给出数据模型或绑定。如果您真的想将时间控制器时间更新转移到reviewController,那么我建议不要将其用作控制器,而是将其重构为服务。 Learn more here。当然,你也可以打开你的timeController范围并使用click事件来传输数据或类似的东西,但它似乎不应该真的是一个控制器开始。

现在我觉得我最终改变了你的代码,而不是真正帮助你。但是这里有一个快速实现如何通过使timeController成为服务来完成它。

Plnkr

只是好奇,为什么你更喜欢这个范围?这给了我一些麻烦。从来没有真正处理过。