角度指令转换范围问题

时间:2016-11-30 17:29:15

标签: javascript angularjs angularjs-scope angular-directive angularjs-1.5

我正在创建一个自定义指令,如下所示:

<directive-a attribute-a="customData" attribute-b="customKey">
   <!--Transcluded Content-->
</directive-a>

方案如下:

  1. directive-a属于controllerA
  2. 的范围
  3. 该指令根据提供的特定键(customKey)从controllerA接收customData中的数据的customData(对象数组)
  4. 使用javascript动态插入ng-repeat并使用transcludeFunction在ng-repeat内转换Transcluded-Content,然后最终编译ng-repeat的父级以显示列表。
  5. Transcluded-Content将充当模板(由用户传递),其中数据将由directive-a传递。

    遇到的问题是,当Transcluded-Content是静态的时,它可以正常工作,但当Transcluded-Content是自定义用户创建的指令时,则会报告以下错误

      

    无法读取未定义的属性“X”。

    出现此错误的原因(我认为)是用户数据的角度查找scope of controllerA中传递的自定义指令,但无法找到它而导致错误。

    如何解决这个问题?

    Angular Version:1.5.8

    JSFiddle Snippet

0 个答案:

没有答案