我创建了一个指令,当放置在我的主页上时可以正常工作。但是,如果我尝试对通过 ajax 加载的内容使用该指令,则它不起作用。为什么?考虑这个包装 datepicker 插件的指令:
var app = angular.module("app",[])
app.directive('datePicker', function () {
return {
restrict: 'A',
link: function(scope, element, attrs) {
$(element).datepicker(scope.$eval(attrs.datePicker));
}
}
});
这有效:
<html lang="en" ng-app="app">
<head>...</head>
<body ng-controller="AppCtrl">
<input date-picker="{changeMonth: true, changeYear: true, yearRange: '2000:2050'}" type="text">
</body>
</html>
找到的解决方案示例似乎不适合我,因为我将通过 ajax 调用(或通过$stateProvider
)将非常大的模板加载到我的页面中。在新加载的内容的某个地方,我将有以下内容(与上面完全相同的标签):
<input date-picker="{changeMonth: true, changeYear: true, yearRange: '2000:2050'}" type="text">
但它不再起作用了。我的所有指令都会发生这种情况。它们在我的主页上工作,但是一旦我开始通过 ajax 调用动态加载新内容,这些指令就不再起作用。我对 Angular 很陌生,所以如果能以初学者的方式给出任何回应,我将不胜感激。感谢您的任何回复!