在页面中直接增加js

在页面中直接增加js


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文件

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 标签


你可能感兴趣的:(在页面中直接增加js)