programing

ui-router의 뷰에서 사용자 지정 데이터를 상태로 전달하려면 어떻게 해야 합니까?

projobs 2023. 10. 1. 23:22
반응형

ui-router의 뷰에서 사용자 지정 데이터를 상태로 전달하려면 어떻게 해야 합니까?

사용하고 있습니다.$stateProvider경로 설정을 위해 필요합니다.사용자 지정 데이터를 활용하여 일부 사용자 지정 데이터를 한 부분 페이지에서 다른 부분 페이지로 전달하고자 했습니다.ng-click).

이것이 지금까지 내가 얻은 것 중 최고입니다.

상태 개체에 사용자 지정 데이터 첨부

상태 개체에 사용자 지정 데이터를 첨부할 수 있습니다(충돌을 방지하려면 데이터 속성을 사용하는 것이 좋습니다).

// Example shows an object-based state and a string-based state 
var contacts = { 
    name: 'contacts',
    templateUrl: 'contacts.html',
    data: {
        customData1: 5,
        customData2: "blue"
    }
} 
$stateProvider
    .state(contacts)
    .state('contacts.list', {
        templateUrl: 'contacts.list.html',
        data: {
            customData1: 44,
            customData2: "red"
        }
    }) 

위의 예제 상태를 사용하면 다음과 같은 데이터에 액세스할 수 있습니다.

function Ctrl($state){
     console.log($state.current.data.customData1) // outputs 5;
     console.log($state.current.data.customData2) // outputs "blue";
 }

원천

자체 템플릿과 컨트롤러를 가진 고객이라는 또 다른 주를 예로 들겠습니다.고객 컨트롤러/뷰 내에서 연락처의 상태 데이터 개체 값을 변경하려면 어떻게 해야 합니까? 즉, 이 항목에서 변경하고자 합니다.

data: {
    customData1: 44,
    customData2: "red"
} 

다음 항목에 대해:

data: {
    customData1: 100,
    customData2: "green"
} 

어떤 포인터나 샘플이라도 감사히 받겠습니다!

수정 - 나는 그것을 혼자서 작동시켰으며 여기 방법이 있습니다:컨트롤러(예: customerCtrl)에서 연락처 상태를 이름으로 얻을 수 있으며 다음과 같이 사용자 지정 데이터 개체의 속성 값을 업데이트하는 등 원하는 변경을 수행할 수 있습니다.

 //get the state by name and change the value of custom data property

 $state.get('contacts').data.customData1= 100;
 $state.go('contacts'); // then you can make a go to that state.

제가 직접 해봤는데 방법은 이렇습니다.컨트롤러(예: customerCtrl)에서 연락처의 상태를 이름으로 가져올 수 있습니다(https://github.com/angular-ui/ui-router/wiki/Quick-Reference#statename . $state.get([stateName])을 찾을 수 있습니다).
상태가 표시되면 다음과 같이 사용자 지정 데이터 개체의 속성 값을 업데이트하는 등 원하는 변경을 수행할 수 있습니다.

//get the state by name and change the value of custom data property 
 $state.get('contacts').data.customData1= 100;
  // then you can go to that state.
 $state.go('contacts');

누군가에게 도움이 되었으면 좋겠습니다.

현재 상태에 대한 사용자 지정 데이터를 읽으려는 경우 다음과 같이 쉽게 읽을 수 있습니다.$state.current.data.customData1 = 100;

언급URL : https://stackoverflow.com/questions/29226573/how-can-i-pass-custom-data-to-a-state-from-a-view-in-ui-router

반응형