javascript - 没有模板 Controller 的 Angular 指令绑定(bind)

标签 javascript angularjs angularjs-directive angularjs-controller angular-template

在使用没有模板的自定义指令(使用服务器生成的 DOM)并将我的 View 绑定(bind)到 Controller 时,我遇到了问题。

这是我的 jsFiddle 示例:

angular.module('myModule', [])
    .directive('myDirective', function(){
    	return {
      	   bindToController: true,
      	   controller: 'myController',
           controllerAs: 'ctrl',
           scope: {
             text: '@'
           },
         }
    })
    .controller('myController', function($scope){
    		this.text = $scope.text
    })
    
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.8/angular.js"></script>
<div data-ng-app="myModule" data-my-directive='' data-text="Hello world!">
  <h1>
    {{ ctrl.text }}
  </h1>
</div>

使用字符串模板作为我的指令或模板 url 的相同示例可以工作,但我需要使用服务器 DOM。

有人遇到同样的问题并解决了吗?

问候,

最佳答案

指令将仅编译具有指令范围的指令中存在的template/templateUrl。否则指令的内部内容将获得该 html 所在的范围。

关于javascript - 没有模板 Controller 的 Angular 指令绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36956955/

相关文章:

javascript - 使用 Javascript 获取下拉列表的值

javascript - 如何从水平方向设置 html 的 Tab 键顺序?

javascript - 如何在 Angular ui 路由器中使最后一个斜杠可选?

javascript - 隔离指令范围但保留对 ngModel 的绑定(bind)

javascript - 在 AngularJS 中对不同的 Controller 使用指令?

javascript - 在其焦点区域外单击时弹出框不关闭

JavaScript 通知 onclick 事件

django - 使用 django 的基本登录时,有没有办法让 Angular 获取当前用户

javascript - AngularJS:标签内类 =""和 ng-click =""的首选顺序

即使指令 ng-form 无效,angularjs 父 ng-form 也有效