微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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.jb51.cc/angularjs/142909.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐