У меня есть объект лица, определяемый (загружается из внутреннего интерфейса), который выглядит следующим образом:Объекта не получили правильно угловых директивы
{
"PersonId":"19894711-2eb9-4edf-92c6-85de2b33d1bb",
"Firstname":"Jacky",
"Lastname":"Chan",
"DateOfBirth":"1963-09-18T00:00:00",
"CreateDate":"2015-12-11T09:15:49.403",
"ModifyDate":"2015-12-11T09:15:49.403"
}
Это отображается правильно, используя этот HTML код:
<table>
<tr>
<td>Firstname</td>
<td>
<input type="text" ng-model="person.Firstname" class="form-control"/>
</td>
</tr>
<tr>
<td>Lastname</td>
<td>
<input type="text" ng-model="person.Lastname" class="form-control"/>
</td>
</tr>
</table>
Но если я передаю тот же самый объект в директиву:
<address-displayer-directive person="person"></address-displayer-directive>
Это не работает.
Это код директивы:
myApp.directive("addressDisplayerDirective", [
"addressService",
function (
addressService) {
return {
scope: {
person: "="
},
restrict: "E",
templateUrl: "/Templates/Directives/addressDisplayerDirective.html",
controller: [
"$scope",
function ($scope) {
console.log($scope.person);
$scope.addresses = addressService.GetForPerson($scope.person.Id);
}],
link: function ($scope, $elem, $attrs) {
console.log($attrs.person);
}
};
}]);
То console.log
в блоке ссылок, отображает "person"
(в виде строки, не является объектом).
console.log
на блоке контроллера отображает undefined
.
Я пробовал имитировать его с помощью Plunk, но там он работает.
Любые идеи?
Является ли это просто опечатка, что у вас есть 'человек = "человек"' в вашем * закрывающей * HTML тег? Если это так, это определенно неправильно –
Да, скопируйте ошибку папок, пытаясь настроить мой вопрос. Это не так, как на самом деле ... – Spikee