jedate引入angularjs中页面渲染加载的问题

   最近在项目中遇到的问题,jedate时间选择插件引入angular项目中会有找不到id的错误。。

观察jedatejs代码发现它是在页面打开时候就已经加载了,所以用controller时候再去调用就会找不到id难过

;(function(window, factory) {
    //amd
    if (typeof define === 'function' && define.amd) {
        define(factory);
    } else if (typeof exports === 'object') { //umd
        module.exports = factory();
    } else {
        window.jeDate = factory();
    }
})(this, function() {    
    var doc = document, win = window;
    var jet = {}, doc = document, regymdzz = "YYYY|MM|DD|hh|mm|ss|zz", gr = /\-/g,
        regymd = "YYYY|MM|DD|hh|mm|ss|zz".replace("|zz",""), parseInt = function (n) { return window.parseInt(n, 10);};
    var $Q = function (selector,content) {
        content = content || document;
        return selector.nodeType ? selector : content.querySelector(selector);
    };
    var jeDate = function(elem,options){
        var opts = typeof (options) === "function" ? options() : options;
        return new jeDatePick(elem,opts);
    };

它的解决办法就是在controller里面延迟加载下:

app.controller('js.controllers.modules.alarm.alarmSetController', 
  ['$rootScope','$scope', '$modal', '$log', function($rootScope,$scope, $modal, $log) {
   
   // angular.element().ready(){
   //    alert('dd');
   // };
  $scope.$watch('$viewContentLoaded', function() {  
    var jds = jeDate("#test05",{
        
        format: "hh:mm:ss"
    });
   });  
}]) ; 
so,用到的是
$viewContentLoaded

开始用的是$(document).ready(),但是它在我的angular里面是无效的,原因到现在还不知道。。

附两种写法:

$scope.$on('$viewContentLoaded', function(){

});

// 或者
$scope.$watch('$viewContentLoaded', function() {  

});  

看到另一个博客里写的方法还有data-ng-init:

<div ng-controller="test">  
     <div data-ng-init="load()" ></div>  
</div>  
  • 1
  • 2
  • 3
bookControllers.controller('testInit', ['$scope', '$routeParams',  function($scope, $routeParams) {  
    $scope.load = function() {  
         alert('code here');  
    }  
}]);  
我的第一篇博客嘻嘻 大笑



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值