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

前端之家收集整理的这篇文章主要介绍了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";
    }
}

希望这可以帮助!

原文链接:https://www.f2er.com/angularjs/142909.html

猜你在找的Angularjs相关文章