Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在angularjs控制器中注入$element_Angularjs_Dom_Angularjs Directive - Fatal编程技术网

在angularjs控制器中注入$element

在angularjs控制器中注入$element,angularjs,dom,angularjs-directive,Angularjs,Dom,Angularjs Directive,首先,我读过数百万篇文章,说不应该在Angular中从控制器更新DOM元素。我知道 尝试使用角度计时器指令(倒计时)时。我遇到了一些问题,所以最后,在插件开发人员的帮助下,我们做了这个plunker,它工作正常,满足了我的要求 但是,将此代码移动到我的应用程序时,我在将$element添加到控制器时遇到下一个错误: `Error: Unknown provider: $elementProvider <- $element` `Error:Unknown provider:$elem

首先,我读过数百万篇文章,说不应该在Angular中从控制器更新DOM元素。我知道

尝试使用角度计时器指令(倒计时)时。我遇到了一些问题,所以最后,在插件开发人员的帮助下,我们做了这个plunker,它工作正常,满足了我的要求

但是,将此代码移动到我的应用程序时,我在将$element添加到控制器时遇到下一个错误:

 `Error: Unknown provider: $elementProvider <- $element`

`Error:Unknown provider:$elementProvider使用jQuery解析DOM时看起来很难看,我不明白为什么不在
ng repeat
中使用timer指令

这里有一种方法,只需在
eleapsedTimer
的作用域中添加额外的数组,然后使用
ng repeat

 $scope.elapsedTimers=[];

$scope.$on('timer-stopped', function (data) {
    /* loop through bookings to find one that just stopped*/
    var now = new Date();
    angular.forEach($scope.bookingsList, function (item) {
        if (!item.elapsed) {
            if (item.booking_date <= now) {                  
                item.elapsed = true;
                $scope.$apply(function () {
                    $scope.elapsedTimers.push(item)
                });
            }
        }
    });
});
$scope.elapsedTimers=[];
$scope.$on('timer-stopped',函数(数据){
/*循环浏览预订,找到刚刚停止的预订*/
var now=新日期();
angular.forEach($scope.bookingsList,函数(项){
如果(!item.appeased){

如果(item.booking_date)您记得在应用程序中注册计时器模块吗?(
var app=angular.module('lazy-timer',['timer'])。
并将
angular timer.min.js
添加到index.html中?
$元素目前未找到。
<div id="result">
  <div ng-repeat="item in elapsedTimers">ID {{item.id}} elapsed</div>
</div>