2016-02-29 3 views
0

Я получил значения в контроллере. Я хочу, чтобы эти ценности получили доступ к диалогу. Является ли это возможным..?Как получить доступ к значению от контроллера к директиве в angularJs

$scope.gridheader = [ 
{ headerName: "ID", field: "ID", seqNo: 0,checkboxSelection: true }, 
{ headerName: "Patient Name", field: "PatientName", seqNo: 1 }, 
{ headerName: "Gender", field: "Gender", seqNo: 3 }, 
{ headerName: "Age", field: "Age", seqNo: 2 }, 
{ headerName: "Phone Number", field: "mobileNumber", seqNo: 4 } 
    ]; 

$scope.rowData = [ 
        { ID: "09-14-002880", PatientName: "PRAVEEN KUMAR", Gender: "Male", Age: "20", mobileNumber: 9879878971, patientId: "test" }, 
        { ID: "09-13-000188", PatientName: "VAR", Gender: "Male", Age: "20", mobileNumber: '', patientId: "ZXC12" }, 
        { ID: "09-05-019825", PatientName: "KARMA", Gender: "Male", Age: "29", mobileNumber: '', patientId: "ZA2545635" }, 
        { ID: "09-04-010524", PatientName: "FRANKLIN ANTHONY", Gender: "Male", Age: "20", mobileNumber: '', patientId: "Z7552396" }, 
        { ID: "09-08-009303", PatientName: "DARYOUSH", Gender: "Male", Age: "29", mobileNumber: '', patientId: "Z2548467" }, 
        { ID: "09-12-031048", PatientName: "SMITA", Gender: "Female", Age: "20", mobileNumber: 9880222187, patientId: "Z2296538" }, 
        { ID: "09-11-026001", PatientName: "ADITYA DILIP", Gender: "Male", Age: "29", mobileNumber: '', patientId: "Z2277913" } 
    ]; 

$scope.filterData = $scope.rowData; 
    $scope.searchName = function() { 
     $scope.searchData = $scope.quickregistration.SearchPatientId; 
     if($scope.filterData != undefined){ 
      $scope.rowData = $filter('filter')($scope.filterData, $scope.searchData); 
     for(var key in $scope.rowData) { 
       $scope.value = $scope.rowData[key]; 
      }  // here i got the values.. this value should be get access inside the directive 
+0

в просмотре (HTML), вы можете передать желаемое значение как атрибут элемента, и получить то же самое в директиве – Mitali

+0

Я сделал то же самое, но не получал значения в директиве. – Naresh

+0

Не могли бы вы предоставить полный пример, содержащий только самые важные части кода? То есть контроллер, директива и использование в html. –

ответ

0

Это должно быть легко исследовать. Вы искали где-нибудь еще для ответа?

Вот краткий пример связывания данных между директивой и html, где вы используете директиву.

связывания данных с = и текст связывания с @, CamelCase в директиве заменяется дефисом HTML-стиле (ATTRIBUTENAME -> имя атрибута)

Если вы точно знаете, какие контроллеры вы используя эту директиву, вы можете получить доступ к родительской области с $ parent (например, $ parent.someFunction()).

В HTML

<my-input-field model="modelValue" attribute-name="{{attributeName}}"></my-input-field> 

В директиве:

scope: { 
    model: '=model' 
    attributeName: '@attributeName' 
} 

Читать это: http://onehungrymind.com/angularjs-sticky-notes-pt-2-isolated-scope/

0

Использование @ локальной области недвижимости или = Локальное свойство сфера (для связывания два способа) в ваша директива

например:

return{ 

scope:{ 
    gridheader :'=', 
    rowdata :'=' 
    } 
}; 

, а затем передать эти значения в качестве атрибутов в вашей директиве

<my-directive gridheader="gridHeader" rowdata="rowData"></my-directive> 

Вот полезный пример на custom directives

+0

Да, я использовал то же самое в свойствах локальной видимости, а также в директиве, но все равно значение missng ... – Naresh

+0

Пожалуйста, добавьте свой полный код (по крайней мере, основные части, как это предлагает @lisa p.). –

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