0

我创建了一个指令,当放置在我的主页上时可以正常工作。但是,如果我尝试对通过 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 很陌生,所以如果能以初学者的方式给出任何回应,我将不胜感激。感谢您的任何回复!

4

1 回答 1

1

我认为这个问题的答案可能会解决您的问题。

AngularJS + JQuery:如何在 angularjs 中获取动态内容

于 2013-07-29T00:50:08.973 回答