2016-09-08 3 views
0

Вот мой фрагмент кода HTML:AngularJS не получает данных, переданная в рамках

<div ng-controller="ctrl"> 
 
<custom-tag 
 
title = "name" 
 
body = "content"> 
 
</custom-tag> 
 
</div>

Вот контроллер и директивно написано:

var mod = angular.module("main_module",[]); 
 

 
//Controller 
 
mod.controller("ctrl",function($scope) { 
 
    $scope.name="Page Title"; 
 
    $scope.content="sample_template.html"; 
 
    }); 
 

 
//Directive 
 
mod.directive("customTag", function() { 
 
    return { 
 
    'restrict' : 'E', 
 
    'scope' : { 
 
     'title' : '=', 
 
     'body : '=' 
 
     }, 
 
    'templateUrl' : 'directive_template.html' 
 
    }; 
 
    });
<!-- directive_template.html --> 
 

 
<div> 
 
    <div>{{title}}</div> 
 
    <div ng-include="'{{body}}'"></div> 
 
</div>

Фактический HTML, оказываемая директивы заключается в следующем:

<div> 
 
    <div ng-binding></div> 
 
    <!-- ngInclude: '{{body}}' --> 
 
</div>

Ясно, что не получает директивы области видимости переменных из атрибутов в <custom_tag>

Пожалуйста, скажите мне, почему это происходит и как я решить эту проблему. Thanks

+0

Ваша директива называется 'customDirective', но ваш HTML является' ' ... как все это работает на всех? – SteamDev

+0

Извините, я действительно переименовал все здесь. И в самом деле, я не делал этой ошибки. Есть что-то еще. Шаблон директивы загружается, только переменные области не загружаются. –

+0

Попробуйте использовать синтаксис «scope as» в представлении. –

ответ

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