我正在尝试为动态模板实现指令。根据下拉列表中选择的内容,模板应该更改。到目前为止,我只管理在页面加载时实现动态,但是当下拉列表中的值更改时,模板保持不变..`(function(){ '使用严格的';
// directive for loading incomeinformation, regular or military
angular.module('myModule').directive('dynamicTemplate', templateControl);
templateControl.$inject = [];
function templateControl() {
var directive = {
controller: mycontroller,
controllerAs: 'mycontrollerCtrl',
bindToController: true,
restrict: 'E',
template: '<ng-include src="mycontrollerCtrl.getTemplateUrl()"/>'
};
return directive;
function mycontroller($attrs, $element, $scope, $compile) {
var vm = this;
vm.getTemplateUrl = getTemplateUrl;
function getTemplateUrl() {
if ($attrs.templateId == 1)
return "test1.html";
if ($attrs.templateId == 3)
return "test1.htm2";
return "test3.html";
}
}
}
})();`
在html中:<dynamic-template templateid="{{model.TemplateId}}"></imp-dynamic-template>
答案 0 :(得分:1)
在html中:属性名称必须为&#34; template-id&#34;因为你像$ attrs.templateId
那样访问它