Javascript 评估AngularJS模板后如何执行指令逻辑?

Javascript 评估AngularJS模板后如何执行指令逻辑?,javascript,angularjs,angularjs-directive,datepicker,Javascript,Angularjs,Angularjs Directive,Datepicker,我有一个非常简单的问题(我不知道答案是否会这么简单): 有一个输入元素: <input type="text" datepicker id="something-{{someValue}}" ng-model="someModel"> 尝试使用$timeout directives.directive('datepicker', ['$timeout', 'Commons', function($timeout,Commons) {

我有一个非常简单的问题(我不知道答案是否会这么简单): 有一个
输入
元素:

<input type="text" datepicker  id="something-{{someValue}}" ng-model="someModel">
尝试使用$timeout

directives.directive('datepicker', ['$timeout',
        'Commons',
        function($timeout,Commons) {
            return {
                restrict: 'A',
                require: 'ngModel',
                link: function(scope, element, attrs) {
                $timeout(function() {
                element.datepicker({
                    onSelect : function(dateText, obj) {
                        var modelPath = $(this).attr('ng-model');
                        Commons.putObject(modelPath, scope, dateText);
                        scope.$apply();
                    }
                }).datepicker($.datepicker.regional['fr']).datepicker(
                        "option", "dateFormat", "dd/mm/yy").datepicker(
                        "option", "showAnim", 'clip');
            })}};

        } ]);
使用$timeout可将要在当前摘要周期后运行的工作排队(还将等待浏览器完成DOM呈现)

directives.directive('datepicker', ['$timeout',
        'Commons',
        function($timeout,Commons) {
            return {
                restrict: 'A',
                require: 'ngModel',
                link: function(scope, element, attrs) {
                $timeout(function() {
                element.datepicker({
                    onSelect : function(dateText, obj) {
                        var modelPath = $(this).attr('ng-model');
                        Commons.putObject(modelPath, scope, dateText);
                        scope.$apply();
                    }
                }).datepicker($.datepicker.regional['fr']).datepicker(
                        "option", "dateFormat", "dd/mm/yy").datepicker(
                        "option", "showAnim", 'clip');
            })}};

        } ]);