angularjs – 根据指令中的属性设置templateUrl

我正在处理一组角度指令,我想根据属性的存在或值来加载正确的模板.
<my-form horizontal> </my-form>
<my-form vertical> </my-form>

如果是水平的,templateUrl应该是/ partials / horizo​​ntal-form和
如果是垂直的,templateUrl应该是/ partials / vertical-form

我对templateUrl感兴趣,因为我不能使用模板,因为html依赖于属性.在compile.pre函数中,html已经被加载了.

如果有另一种方式实现这一点,我开放,因为我现在开始有角度,越多的信息越好.

谢谢

其中一个解决方案是在模板文件中使用ng-include.

模板文件中的第一个属性将具有以下内容

<div ng-include = "getTemplate()">

</div>

在您的指令代码中,您将编写以下内容

scope : {direction : "="},link : function(scope,element,attrs)
{
    scope.getTemplate = function(){
        if(scope.direction === "horizontal")
        {
            return "horizontal.html";
        }
        return "vertical.html";
    }
}

希望这可以帮助!

相关文章

ANGULAR.JS:NG-SELECTANDNG-OPTIONSPS:其实看英文文档比看中...
AngularJS中使用Chart.js制折线图与饼图实例  Chart.js 是...
IE浏览器兼容性后续前言 继续尝试解决IE浏览器兼容性问题,...
Angular实现下拉菜单多选写这篇文章时,引用文章地址如下:h...
在AngularJS应用中集成科大讯飞语音输入功能前言 根据项目...
Angular数据更新不及时问题探讨前言 在修复控制角标正确变...