>  기사  >  웹 프론트엔드  >  UI-Router의 컨트롤러에 매개변수를 어떻게 전달합니까?

UI-Router의 컨트롤러에 매개변수를 어떻게 전달합니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-08 08:56:02761검색

How do I Pass Parameters to Controllers in UI-Router?

UI-Router의 컨트롤러에 매개변수 전달

UI-Router에서는 ui-sref 지시문을 활용하여 상태와 상태 간을 탐색할 수 있습니다. 매개변수를 컨트롤러에 전달합니다. 이를 수행하려면 다음 단계를 따르세요.

상태 구성에서 매개변수 정의:

예상 매개변수를 URL의 일부로 포함하도록 상태 정의를 수정하세요.

.state('home', {
  url: '/:foo?bar', // Include parameters in the URL path
  ...
});

컨트롤러의 매개변수에 액세스:

컨트롤러에서 $stateParams 서비스를 통해 전달된 매개변수에 액세스할 수 있습니다. $stateParam 대신 $stateParams를 사용해야 합니다.

app.controller('SomeController', function($scope, $stateParams) {
  var foo = $stateParams.foo;
  var bar = $stateParams.bar;
});     

예:

다음 상태 정의를 고려하세요.

.state('home', {
  url: '/',
  params: {
    foo: {
      value: 'fooVal',
      squash: false,
    },
  },
  ...
});

여기서 이 경우 UI-SREF를 사용하여 매개변수를 홈 상태에 전달할 수 있습니다:

<a ui-sref="home({foo: 'customVal'})">Go to home state</a>

params를 사용하는 추가 옵션:

params 객체를 사용하여 사용자 정의된 매개변수를 구성할 수 있습니다 상태 정의에는 다음이 포함됩니다.

  • value: 기본값을 지정합니다.
  • array: 매개변수를 배열로 처리합니다.
  • squash: 기본값을 제어하는 ​​방법

결론:

이 단계를 따르면 ui-sref를 사용하여 UI-Router의 컨트롤러에 매개변수를 성공적으로 전달할 수 있습니다. $stateParams를 사용하여 액세스하세요.

위 내용은 UI-Router의 컨트롤러에 매개변수를 어떻게 전달합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.