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 に答える