Yii2如何在View中加入JS代码

如果在view中直接添加js代码,如下:

1
2
3
4
5
<script>
$(function(){
alert('js code');
});
</script>

会提示没有$ is not defined错误,这是因为view中添加js代码的前面没有引用juqery.js,默认全局的jquery则是在文件尾添加。

解决方法:

  1. 在js代码前引入js库

1.1 引入方式1

1
<?=Html::jsFile('@web/jquery.js'); ?>

1.2 引入方式2

1
<?php $this->registerJsFile('@web/js/jquery.js'); ?>
  1. 使用全局的js库

方法一

1
2
3
4
5
6
7
8
<?php
$js = <<<JS
$(function(){
alert('js code');
});
JS;
$this->registerJs($js);
?>

方法二

1
2
3
4
5
6
7
<?php
$this->registerJs("
$(function () {
// 想要写的js代码吧
$......
});
", \yii\web\View::POS_END);

$thisyii\web\View对象,用于管理和渲染视图

  • 第一个参数:就是我们要写的js代码块
  • 第二个参数:指定代码块插入在页面的具体位置
    \yii\web\View::POS_END意思就是页面底部</body>之前插入
  • 第三个参数:js代码块的一个id标示,不指定会默认生成
坚持原创技术分享,您的支持将鼓励我继续创作!
0%