2016-06-21 4 views
0

Я пытаюсь создать простую настраиваемую директиву, но она постоянно бросает мне сообщение об ошибке. Я включил код примера в нижнюю ссылку jsFiddle. Может ли кто-нибудь помочь мне, где именно я ошибся.Невозможно выполнить пользовательскую директиву в angularjs

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

Спасибо, Шридхар

+0

связывание сломана – akazemis

+0

я смог открыть его –

+0

Спасибо Тамаса. Я не могу правильно установить ссылку в редакторе, и я пытаюсь это сделать. Люди слишком быстр и счастливы, чтобы опрокинуть вопрос, а на самом деле пытаются решить реальный вопрос. Я буду продолжать редактировать его, чтобы сделать его ссылкой. –

ответ

1

это неподвижная plunker:

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

я думаю, что есть проблема с

  1. случай вашей директивы и имя контроллера (я положил все в нижний регистр, не слишком много времени сорр у)
  2. вы не использовали ng-controller="mycontainercontroller" сказать угловой с контроллером использовать
  3. не вводят $ объем по директиве только в директиве контроллера:

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; 
}]) ; 
+0

Alainlb, благодарю вас за помощь. Я считаю, что ng-controller в html не требуется, поскольку он уже встроен с пользовательской директивой. –

1

Есть две проблемы. Одна из них с скрипкой, скрипт должен выполняться до окна нагрузки, поэтому установить следующее:

enter image description here

Во-вторых, не вводят $scope в директиве. У вас есть доступ к области директивы в функции link.

Обновлено скрипка: https://jsfiddle.net/65vnj4dz/5/

+0

Awesome. Хотя из нижеприведенного ответа я смог проверить его как работающий в plunkr, я не могу выполнить его в jsFiddle. Спасибо, что показал это. –

Смежные вопросы