美文网首页
在页面中直接增加js

在页面中直接增加js

作者: duandaoke | 来源:发表于2018-07-10 17:11 被阅读0次

在页面中直接增加js

<?php
use yii\Web\View;
?>
<?php $this->registerJs("var options = ".json_encode($options).";", View::POS_BEGIN, 'my-options');?>

registerJs方法第一个参数为js代码。第二个参数为定义js输出位置常量,在yii\web\View中定义。
有以下这些常量:
View::POS_HEAD:当前js代码在页面head节点即将闭合部分。
View::POS_BEGIN : 当前js代码在页面body节点开始位置。
View::POS_END: 当前js代码在页面body节点即将结尾处位置,页面jquery的ready方法上边。
View::POS_READY: 当前js代码在页面jquery的ready方法内部。
View::POS_LOAD: 当前js代码在页面jquery的ready方法下边的load方法内部。
第三个参数为当前这段js代码的id标示,这个参数是可选的,如果没有定义这个参数,当前js代码便会成为id标示。如果定义多个id标示一致,并且位置一致,那么最后一个覆盖之前标示相同的;如果多个标示id一致,位置不一致,都会存在页面上。

引入js文件

<?php $this->registerJsFile('http://cdn.bootcss.com/vue/2.0.0-beta.1/vue.js', [
        //可选参数,依赖的资源包名称,这两个资源类所包含定义的js文件都会出现在当前js文件的前边
        'depends' => [
            \yii\web\JqueryAsset::className(),
            \frontend\assets\OurAsset::className(),
        ],
        //可选参数,定义当前js文件的出现位置,默认位置为View::POS_END
        'position' => View::POS_END,
    ],
        //vue.js是为当前引入js的定义的一个标示id,可选参数,如果没有定义这个值,标示id为第一个参数的值。
        //如果多个引入文件的标示id是相同的,后边的将覆盖前边的。
    'vue.js');?>

JS BLOCK 注意script 标签

<script type="text/javascript">
<?php $this->beginBlock('js') ?>  

    //js代码
    
<?php $this->endBlock() ?>  
<?php $this->registerJs($this->blocks['js'], \yii\web\View::POS_END); ?> 
</script>

相关文章

网友评论

      本文标题:在页面中直接增加js

      本文链接:https://www.haomeiwen.com/subject/yvpgsftx.html