먼저 인라인 스크립트 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');