かなり簡単な解決策があることを願っています。
ファイルから HTML をロードするディレクティブを設定しました。次に、Angular を使用してその HTML をコンパイルすることになっています。ディレクティブ:
angular.module('wc.directives', [], function($compileProvider) {
$compileProvider.directive('view', function($compile) {
return function(scope, element, attrs) {
scope.$watch(
function(scope) {
// watch the 'view' expression for changes
return scope.$eval(attrs.view);
},
function(value) {
// when the 'view' expression changes
$.ajax({
url: '/partials/' + value,
success: function(data) {
element.html(data);
$compile(element.contents())(scope);
}
});
}
);
};
});
});
これがロードするはずの何かの例 (ジェイド)
input#nameInput.nameField(ng-model='name', type='text')
h1 {{ name }}
ページが読み込まれると、{{ name }} が表示されます。ただし、テキスト フィールドに入力を開始すると、{{ name }} は入力内容に合わせて更新されます。
element.html
and$compile
ステートメントが ajax コールバック内にない場合、success
すべてが期待どおりにコンパイルされます。