簡體   English   中英

可以將controller用作帶指令/ ng-transclude的語法嗎?

[英]Can you use controller as syntax with directive/ng-transclude?

我正在使用controller as語法。 在此范圍內,我有一條指令將訪問該控制器的內容包括在內。 從ng-transclude內部似乎無法訪問該控制器。

演示: http : //plnkr.co/edit/ZYPCym2WQV43wh4R4nwI?p=preview

從被包含的內容中限制使用控制器嗎?

我認為您正在將ng-controller與指令一起使用的方式越來越混亂。 不幸的是,我無法解釋原因,但是您設置控制器的方式對我來說似乎很有趣:)

我的想法是,如果要將ng-controller放在指令的元素上,則最好將其設為“指令控制器”,如下所示:

function transcludeDirective() {
  return {
      restrict: 'E',
      transclude:true,
      scope: false,
      controller: DemoCtrl,
      controllerAs: 'DemoCtrlVM',
      template: '<div>'+
                  '<p>First name: <b>{{ DemoCtrlVM.first_name }}</b></p>'+
                  '<ng-transclude></ng-transclude>'+
                '</div>'
  }
}

確保從HTML中刪除ng-controller="DemoCtrl as DemoCtrlVM" 如果執行此操作,它將按預期工作

這可能不是您想要的。 按照您的方式進行操作,可以將其他控制器與指令一起使用,並按照我的方式將控制器耦合到指令...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM