私はAngularJSが初めてです。ディレクティブを動的に使用しようとしてng-include
いますが、機能しません。例えば
var template = '<div ng-include="/app/partials/HtmlPage.html"></div>'
私はAngularJSが初めてです。ディレクティブを動的に使用しようとしてng-include
いますが、機能しません。例えば
var template = '<div ng-include="/app/partials/HtmlPage.html"></div>'
If the source is a string constant, make sure you wrap it in quotes, e.g. src="'myPartialTemplate.html'".
これらの内側の引用符を文字列テンプレート名に追加してみてください。
var template = '<div ng-include="\'/app/partials/HtmlPage.html\'"></div>'
(すでに文字列になっているため、内側の引用符をエスケープする必要があることに注意してください)
コードをもっと表示する必要があります。ディレクティブのテンプレートに ng-include を使用して、さまざまなテンプレートを動的にロードして使用するために使用しているディレクティブがあります。これがどのように機能するかを見て、ng-includeが機能しない原因となるあなたの行動を想像できません。インスペクタなどをチェックして、HTMLPage.html がロードされているか、404 が取得されているかを確認しましたか?
directive("dynamicFormInput", ['$http', '$templateCache', function($http, $templateCache){
return {
restrict: 'E',
scope: {model: '=', section: '='},
template: '<ng:include src="tpl"></ng:include>',
link: function(scope, iElement, iAttrs) {
switch(scope.section.sectionTypeId)
{
case 1:
$http.get('partials/survey/textInput.html', {cache:$templateCache});
scope.tpl="partials/survey/textInput.html";
break;
case 2:
$http.get('partials/survey/selectOneOption.html', {cache:$templateCache});
scope.tpl="partials/survey/selectOneOption.html";
break;
case 3:
$http.get('partials/survey/multiSelectOption.html', {cache:$templateCache});
scope.tpl="partials/survey/multiSelectOption.html";
break;
case 4:
$http.get('partials/survey/boolean.html', {cache:$templateCache});
scope.tpl="partials/survey/boolean.html";
break;
case 5:
$http.get('partials/survey/multiSelectOption.html', {cache:$templateCache});
scope.tpl="partials/survey/multiSelectOption.html";
break;
case 6:
if(scope.section.sectionId == 19){
$http.get('partials/survey/addressSelection.html', {cache:$templateCache});
scope.tpl="partials/survey/addressSelection.html";
}
break;
}
}
}
}])