我相信您需要
transclude:true在指令返回对象中,该对象会告诉angular对诸如
{{ }}绑定之类的标记进行预处理。您还需要将调用包装到
datepicker()中,
$timeout以将尝试延迟到下一个角度循环运行之前,以确保在DOM中设置了已转换的ID。
这在jsfiddle中为我工作
var module = angular.module('myApp', []);module.directive('datepicker', function($timeout) { var linker = function(scope, element, attrs) { $timeout( function(){ element.datepicker(); }); } return { restrict: 'A', link: linker, transclude: true }});function MyCtrl($scope) { $scope.id = 7}


