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

javascript – Angular指令 – 要求进行翻译?

我在下面收到错误,我不明白为什么.有任何想法吗?

HTML,

<button ng-click="loadForm()">Load Directive Form</button>
<div data-my-form></div>

棱角分明,

   app.directive('myForm', function() {
        return {
          replace:true,
          controller:function($scope){
            $scope.isLoaded = false;
            $scope.loadForm = function(){
              $scope.isLoaded = true;
            }
          },
          template: '<div ng-if="isLoaded" ng-include="\'form.PHP\'" ></div>',
          link:function(scope, element) {

          }
        }
    });

错误,

Error: [$compile:multidir] Multiple directives [ngInclude, ngInclude] asking for transclusion on: <div data-my-form="" ng-if="isLoaded" ng-include="'form.PHP'">

一个修复,

'<div><div ng-if="isLoaded" ng-include="\'form.PHP\'" ></div></div>'

但为什么我必须把它包装成div?这是一个有角度的错误吗?

解决方法:

错误很明显.尝试使用transclusion的同一元素有两个指令:

1. ng-if 
2. ng-include

元素只能应用一个翻译.

要修复,请尝试以下方法

<div data-my-form="" ng-if="isLoaded">
   <div ng-include="'form.PHP'"> </div>
</div>

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

相关推荐