无法在angularjs中执行自定义指令

时间:2016-06-21 22:40:13

标签: angularjs

我正在尝试构建一个简单的自定义指令,但它经常给我一个错误。我在下面的jsFiddle链接中包含了我的示例代码。任何人都可以帮助我确切地说我错了。

[https://jsfiddle.net/sridharspeaks/65vnj4dz/][1]

谢谢, 斯里达尔

2 个答案:

答案 0 :(得分:1)

这是固定的plunker:

http://plnkr.co/edit/KTFFLc0QdmunQ4i8AT8o?p=preview

我认为

存在问题
  1. 您的指令和控制器名称的情况(我把所有情况都放在小写字母上,不要抱太多时间抱歉)
  2. 您没有使用ng-controller="mycontainercontroller"告诉控制器使用角色
  3. 不要仅在控制器的指令中注入$ scope指令:
  4. html:

      

    <head>
      <script src="http://code.angularjs.org/1.2.1/angular.js"></script>
      <script src="script.js"></script>
    </head>
    
    <body>
    
      <div ng-controller="mycontainercontroller">
         <mycontainer></mycontainer>
      </div>
    </body>
    

    和JS:

    angular.module('myApp', []).
    directive('mycontainer', function() {
        return {
        restrict: 'E',
        scope: {},
        controller: 'mycontainercontroller',
        template: '<div><input ng-model="container"></div><div>output : {{container}}</div>'
      }
    }).controller('mycontainercontroller', ['$scope', function($scope) {
      $scope.container = 123;
    }]) ;
    

答案 1 :(得分:1)

有两个问题。一个是小提琴,脚本必须在窗口加载之前运行,所以设置如下:

enter image description here

其次,不要将pch注入指令。您只能访问$scope函数中的指令范围。

更新了小提琴:https://jsfiddle.net/65vnj4dz/5/