angularjs model 的控制器没有调用

代码如下:

angular.module('picker', {
}).directive('datepicker', function(){
    return {
        controllerAs:"datepickCtr",
        restrict: 'A', // E = Element, A = Attribute, C = Class, M = Comment
        templateUrl: 'datepicker.html',
        replace:true,
        //templateUrl: '',
        // compile: function(tElement, tAttrs, function transclude(function(scope, cloneLinkingFn){ return function linking(scope, elm, attrs){}})),
        link: function($scope, element, iAttrs) {
            console.log("datepicker.html");//这个被打印
        }
    };
}).controller('datepickCtr', function(){
    console.log("asd");//这个没有被打印
}).run(function ($templateCache){
      $templateCache.put('datepicker.html',
        '<div>asda</div>'
      );
})

如代码所示,LINK部分正常打印,但是控制器没有被打印,求解
阅读 4.6k
2 个回答

controllerAs -> controller

controllerAs那里错了。

如果你喜欢controllerAS语法的话,

javascriptcontroller: "DatepickCtrl as datepickCtrl" //话说你的DatepickCtrl开头可以大写吗!!

或者

javascriptcontroller: "DatePickCtrl",
controllerAs: "datepickCtrl"
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题