Вот мой фрагмент кода 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
Ваша директива называется 'customDirective', но ваш HTML является' ' ... как все это работает на всех? –
SteamDev
Извините, я действительно переименовал все здесь. И в самом деле, я не делал этой ошибки. Есть что-то еще. Шаблон директивы загружается, только переменные области не загружаются. –
Попробуйте использовать синтаксис «scope as» в представлении. –