현재 위치 - 인적 자원 플랫폼망 - APP 개발 - Yii2.0 에서 JS 패키지 파일을 가져오는 방법
Yii2.0 에서 JS 패키지 파일을 가져오는 방법
Yii\web\View 객체는 스크립트를 등록할 수 있습니다. For inline script registerJs ()? 및 외부 스크립트 registerJsFile () 이 있습니다. 인라인 스크립트를 사용하여 코드를 구성하고 동적으로 생성할 수 있습니다.

먼저 인라인 스크립트 registerJs () 를 사용합니다

다음과 같이 사용합니다.

//내부 등록 js 코드 $ jsstring = "$ (function () {alert (123); }); " 을 눌러 섹션을 인쇄할 수도 있습니다 $ this-& gt;; Registerjs($jsString, View::POS _ END);); 또는 $ this->; RegisterJs("var options = ". Json_encode($options) 입니다. ";" , 뷰:: pos _ end,' 내-옵션');

설명:

첫 번째 요소는 뷰 파일에서 작성하려는 js 코드입니다.

두 번째 요소는 뷰 파일에 이 코드를 삽입하기로 결정한 곳입니다. 구체적인 매개변수는 다음과 같습니다.?

View::POS_HEAD? 머리에 쓰입니다.

View::POS_BEGIN? 바로 열어본 후에요? & ltbody & gt.

View::POS_END? 문을 닫기 바로 전에? & lt/body & gt;; 。

View::POS_READY? 문서에서 코드를 실행하는 데 사용됩니까? 준비됐어? 사건. 이거 등록할까요? JQuery? 자동으로.

View::POS_LOAD? 문서에서 코드를 실행하는 데 사용됩니까? 로드? 사건. 이거 등록할까요? JQuery? 자동으로.

세 번째 요소는 이 코드의 Id 이며 고유합니다. ID 가 있으면 같은 이름의 이전 id 를 바꾸거나 대체합니다. 마지막 요소가 작성되지 않은 경우 js 코드 자체는 ID 이고 마지막 요소는 무시할 수 있습니다.

$ 뷰를 관리하고 렌더링하는 데 사용되는 yii\web\View 객체입니다.

이런 표기법이 있다.

& lt? PHP $ this-& gt;; BeginBlock("aaa ")? & gt

$(function () {? //여기에 js 코드 작성}); & lt? PHP $ this-& gt;; EndBlock ()? & gt

& lt? PHP $ this-& gt;; Register js($ this-& gt;; Blocks["aaa"], \ yii \ web \ View::POS _ END);); -응? & gt

데이터 블록은 뷰 내용이 한 곳에 표시되고 다른 곳에 표시되도록 지정할 수 있으며, 일반적으로 레이아웃과 함께 사용됩니다.

예를 들어 컨텐츠 뷰에서 데이터 블록을 정의하여 레이아웃에 표시할 수 있습니다.

Yii\base\View::beginBlock () 및 yii\base\View::endBlock () 을 호출하여 데이터 블록을 정의합니다.

$ view-& gt;; 사용 Blocks[$blockID] 데이터 블록에 액세스합니다.

여기서 $blockID 는 데이터 블록을 정의할 때 지정한 고유 ID 입니다.

보이는 내부는 여전히 매우 유연한 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~

둘째, 외부 스크립트 registerJsFile ()

다음과 같이 사용합니다.

& lt? 서버측 프로그래밍 언어 (professional hypertext preprocessor 의 약어)

Backend \ assets \ AppAsset 을 사용합니다

Yii \ web \ View 사용

Appasset:: register ($ this); //소개 js 파일 $ this-& gt;; 레지스트리 jsfile (yii:: $ app-> 요청-> 기본 URL 입니다. Js/mytest_js.js', ['depends' = > Backend \ assets \ appasset:: classname (), "position" => $ this:: pos _ end]);

설명: 외부 js 파일을 가져옵니다.

첫 번째 매개변수는 파일의 절대 경로입니까? Yii:: $ app-> 요청-> 기본 URL+js 파일?

두 번째 요소는 리본입니다. 그것은 누구에 달려 있습니까? 여기서, 그것은 의존적이다. Back \ assets \ appasset:: classname () 오브젝트의.

세 번째 요소는 가져온 파일의 위치인 POS_END? 에 설명

그러나 파일을 가져올 때마다 의존하는 사람을 지정해야 하기 때문에 일반적으로 외부 파일을 가져오는 데 사용되지 않습니다. 일반적으로 패키지 관리 자산 번들을 사용하여 등록합니다.

우선, 이 문서에서? 뒤로 \ 자산 \ AppAsset.php 는 두 가지 정적 방법을 도입했음을 나타냅니다. Appasset 클래스의 전체 버전은 다음과 같습니다.

네임스페이스 백엔드 \ 자산 -응?

Yii \ web \ AssetBundle 사용?

클래스 AppAsset 확장 AssetBundle? {?

Public $ basePath =' @ webroot?

Public $ baseurl =' @ 웹?

//글로벌 CSS?

Public $css = [?

Css/animate.css',?

Css/style.min.css',?

];

//글로벌 JS?

Public $js = [?

Js/jquery-2.1..1.js'?

];

//의존?

Public $depends = [?

Yii\web\YiiAsset',?

Yii\bootstrap\BootstrapAsset',?

]; -응?

//요청 시 JS 를 로드하는 방법을 정의합니다. 마지막 로드 순서를 주의하시겠습니까?

공용 정적 함수 addScript($view, $jsfile) {?

$ view-& gt;; RegisterJsFile($jsfile, [AppAsset::className (),' depends' = & gtbackend \ assets \ appassets -응?

}?

-응?

//요청 시 CSS 를 로드하는 방법을 정의합니다. 마지막 로드 순서를 기록해 두시겠습니까?

공용 정적 함수 addCss($view, $cssfile) {?

$ view-& gt;; RegisterCssFile($cssfile, [AppAsset::className (),' depends' = & gtbackend \ assets \ appap -응?

}?

}

AddScript ()? 및 addCss () 메서드는 뷰 파일에 등록하는 열쇠입니다. 다음 방법을 사용하여 사용할 필요가 없습니까? $ this-& gt;; RegisterJsFile? 등록했습니다.

& lt? Phpuse backend \ assets \ AppAsset 은 yii \ web \ View 를 사용합니다

Appasset:: register ($ this);

//css 파일 appasset:: addcss ($ this, yii:: $ app->; 요청-> 기본 URL 입니다. "/CSS/blog.css");

AppAsset::addScript($this, yii:: $ app-> 요청-> 기본 URL 입니다. /js/waibu _ js.js');