2015-08-19 2 views
1

Я создаю директиву, которая принимает аргументы, переданные ей из html, и заполняет поля в шаблоне. Код для директивы выглядит следующим образом.Параметр угловой директивы Issue

(function(){ 
    angular.module("MyApp",{}) 
    .directive("myDirective",function(){ 
     var MyLink = function(scope,element,attr){ 
      scope.title = attr.title; 
     } 
     return{ 
      restrict : 'EA', 
      transclude:true, 
      templateUrl:"directive.html", 
      link:MyLink 
     } 
    }); 
}()) 

directive.html, как

<div > 
<span data-ng-bind="title"></span> 
</div> 

Главная страница является как

<div ng-app="IndexApp" ng-controller="IndexController"> 
     <my-directive title="hello"></my-directive> 
this is a test 
    </div> 

Моя проблема заключается в том, что почему-нибудь не получаю отображается?

Ссылка на plunker является here

+0

вы использовали различные модули для контроллера и директивы. ознакомьтесь с этим http://plnkr.co/edit/gKMWTIjXkSXdPMjjhgY5?p=preview – havenchyk

ответ

2

Вашего объявления модуля неправильно, вы использовали {} вместо []. Если вы также хотели объявить директиву в другом модуле, вам нужно добавить зависимость к вашему indexApp (я сделал это в этом plunker).

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

index.js

(function(){ 
    angular.module("IndexApp",['myDirectives']) 
    .controller("IndexController",function($scope){ 
    $scope.title = "this is to test"; 
    }); 
}()) 

directive.js

(function(){ 

    angular.module("myDirectives", []) 
    .directive("myDirective",function(){ 
     var MyLink = function(scope,element,attr){ 
      scope.title = attr.title; 
     } 
     return{ 
      restrict : 'EA', 
      templateUrl:"directive.html", 
      link:MyLink 
     } 
    }); 
}()) 
Смежные вопросы