đăng ký tập tin js của bạn trên possion cho
$this->registerJsFile('path/to/file.js', ['position' => \yii\web\View::POS_END]);
Đối số đầu tiên là mã JS thực tế mà chúng tôi muốn chèn vào trang. Đối số thứ hai xác định vị trí tập lệnh sẽ được chèn vào trang. Giá trị có thể là:
Chế độ xem :: POS_HEAD cho phần đầu.
Chế độ xem :: POS_BEGIN ngay sau khi mở.
Chế độ xem :: POS_END cho đúng trước khi đóng.
Chế độ xem :: POS_READY để thực thi mã trên sự kiện sẵn sàng tài liệu.
Điều này sẽ tự động đăng ký jQuery. Chế độ xem :: POS_LOAD để thực thi mã trên sự kiện tải tài liệu. Điều này sẽ tự động đăng ký jQuery. Đối số cuối cùng là ID tập lệnh duy nhất được sử dụng để xác định khối mã và thay thế mã hiện có bằng cùng một ID thay vì thêm ID mới. Nếu bạn không cung cấp, mã JS sẽ được sử dụng làm ID.
Một kịch bản bên ngoài có thể được bổ sung như sau:
$this->registerJsFile('http://example.com/js/main.js', ['depends' => [\yii\web\JqueryAsset::className()]]);
Những lập luận cho registerJsFile() cũng tương tự như đối với registerCssFile(). Trong ví dụ trên, chúng tôi đăng ký tệp main.js với sự phụ thuộc vào JqueryAsset. Điều này có nghĩa là tệp main.js sẽ được thêm vào SAU jquery.js. Không có đặc tả phụ thuộc này, thứ tự tương đối giữa main.js và jquery.js sẽ không được xác định.
Nguồn
2016-07-09 04:31:46
Tôi đang đăng ký các tệp đó vì tôi muốn tệp chỉ được sử dụng ở chế độ xem cụ thể và trong các chế độ xem khác mà tôi muốn sử dụng các tệp js khác.Điều này có khả thi với tài sản không? Tôi không hiểu liệu có khả năng nói cho người quản lý tài sản sử dụng tệp này chỉ trong chế độ xem A và tệp đó chỉ trong chế độ xem B chẳng hạn – David
bạn sẽ cần tạo nội dung cụ thể để được đăng ký trong chế độ xem cụ thể đó. Mặc dù có thể bao gồm một tệp mới dựa trên các điều kiện cụ thể (như tài liệu chỉ định) bằng cách triển khai phương thức 'init()' của lớp gói nội dung, nó thực sự phụ thuộc vào cơ sở từng trường hợp. –