2017-12-24 4 views
0

매개 변수 : 요청 및 currentUser를 가져야하는 자체 지시문을 만들려고합니다.두 번째 변수를 격리 된 범위로 전달할 수 없습니다. AngularJS

요청 매개 변수가 해당 생성자에 성공적으로 전달되었지만 현재 사용자는 아닙니다.

currentUser는 $ rootScope의 app.run에서 정의됩니다.

이 지침 :

app.directive('requestsTableForBuyer', function() { 
    return { 
    'restrict': 'AE', 
    'templateUrl': '../directives/requestsTables/requestsTableForBuyer.html', 
    'scope': { 
     requests: "=", 
     currentUser: "=" 
    }, 
    'controller': function($scope, $timeout, toaster) { 
     console.log($scope.currentUser); 
    } 
}); 

app.run :

나는 currentUser가 'dashboard.html'

코드에서 액세스 할 수 있음을 유의해야 할 것은 이것이다

app.run(function($rootScope) { 
    $rootScope.currentUser = "ori"; 
}); 

dashboard.html (관련 부분 만 해당) :

<requests-table-for-buyer requests="requests" currentUser="currentUser"></requests-table-for-buyer> 

무엇이 문제 일 수 있으며 어떻게 수정 될 수 있습니까?

답변

1

에서 대시 표현으로 처리되기 때문에

+0

물음표의 의미를 아래와 같이

<requests-table-for-buyer requests="requests" current-user="currentUser"></requests-table-for-buyer>

변경하여 범위 바인딩? – Ori

0

당신이 뱀 맡았다 html로에 있어야하는 경우가 맡았다 낙타에 참조하고 그것 때문에 그래서 같이

<requests-table-for-buyer current-user="currentUser" ...> 

. 낙타의 경우 올바른 바인딩을 사용하지 않는 문제가 될 수 각도 지시 입력

0
가 확실히

<requests-table-for-buyer requests="requests" current-user="currentUser"></requests-table-for-buyer> 

를 작동, 아래와 같은 HTML 코드를 변경

및 또한 currentUser 요소는 HTML에서 잘못되었습니다. 그것은 아래에 살아 있어야합니다.

app.directive('requestsTableForBuyer', function() { return { 'restrict': 'AE', 'templateUrl': '../directives/requestsTables/requestsTableForBuyer.html', 'scope': { requests: "=", currentUser: "=?" }, 'controller': function($scope, $timeout, toaster) { console.log($scope.currentUser); } });