0

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

<div ng-app="myapp"> 
        <div ng-controller="MyController"> 
        <div ng-repeat="per in person"> 
         <!-- <test user=" --> 
         {{per.firstName}} 
         <!-- "></test> --> 
        </div> 

Но когда я пытаюсь связать объем пользовательской директивы для объектного имени, ошибка AngularJS throw

Ошибка: [синтаксис синтаксиса: синтаксис] Синтаксическая ошибка: токен '{' недопустимый ключ в столбце 2 выражения [{{per.firstName}}] начиная с [{per .имя}}].

<div ng-repeat="per in person"> 
        <test user=" {{per.firstName}}"></test> 
       </div> 
       </div> 

      </div> 

AngularJs конд:

var myapp=angular.module('myapp',[]); 
myapp.controller('MyController',function($scope){ 
    $scope.person=[ 
    {firstName:"ali1", 
    lastName:"ahmad" 
    }, 
    {firstName:"ali2", 
    lastName:"ahmad3" 
    }, 
    {firstName:"ali4", 
    lastName:"ahmad" 
    }, 
    {firstName:"ali5", 
    lastName:"ahmad" 
    }, 
    ]; 
}); 



myapp.directive('test',function(){ 
    var directive={} 
    directive.restrict="E"; 
    directive.template="Name : {{user.firstName}}"; 
    directive.scope={ 
     user:"=user" 
    } 
    return directive; 

}); 

Как связать пользовательские директивы со значением директивы объекта.?

ответ

1

Попробуйте это:

<test user="per"></test> 

HTML:

myapp.directive('test', function() { 
    return { 
     restrict: 'E', 
     scope: { 
      user: '=' 
     }, 
     template: 'Name : {{user.firstName}}' 
    }; 
}); 
1

при привязке к области, которую просто передать объект, нет необходимости в {{}}, так

user="per.firstName" 
1

Изменить эту строку

<test user=" {{per.firstName}}"></test> 

Для

<test user="person"></test> 

И используйте ng-repeat внутри директивы. Сначала отправить данные из контроллера в вашей директиве как этот

<test user="person"></test>// Here you are sending whole array 

Тогда получите ваш user который, содержащий refrence из person Затем внутри директивы получить user в некоторой переменной, как вы сделали это внутри рамки директивы user: "=user"

+0

его не отображается –

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