javascript 这是一个用Vue.js建造的古腾堡街区
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 这是一个用Vue.js建造的古腾堡街区相关的知识,希望对你有一定的参考价值。
( function( wp ) {
var el = wp.element.createElement;
var __ = wp.i18n.__;
wp.blocks.registerBlockType( 'learn-gutenberg/ex2-vue', {
title: __( 'Learn Gutenberg Example 2: VueJS', 'learn-gutenberg' ),
category: 'widgets',
supportHTML: false,
attributes: {
who: {
selector: 'p',
attribute: 'who',
},
},
edit: function( props ) {
var attributes = props.attributes,
setAttributes= props.setAttributes,
className = props.className,
focus = props.focus,
id = props.id;
//Define id to mount VueJs app into
var vueAppIdAttr = 'vuetest-' + id;
//Set default for who we're saying who to.
if( ! attributes.hasOwnProperty( 'who' ) ){
attributes.who = 'Roy'
}
//Create copy of attributes to create intial state of Vue app with
var vueInitialState = {};
Object.keys( attributes ).forEach( function (key) {
vueInitialState[key] = attributes[key];
});
//create Vue app
var APP = new Vue({
//mount on element we're about to create with el()
el: '#' + vueAppIdAttr,
data: function () {
return vueInitialState
},
//Use watchers to update React
watch: {
who: function (newValue) {
setAttributes({ who:newValue});
}
},
//template for Vue app
template: '<div><p>who: {{who}}</p><input v-model="who" /></div>',
});
//return using WordPress createElement
return el(
'div',
{ className: className },
[
el(
'p',
{
className:className,
who: attributes.who
},
el(
'div',
{
id: vueAppIdAttr
},
),
),
]
);
},
save: function(attributes,className) {
el(
'p',
{
className:className,
who: attributes.who
}
);
}
} );
} )(
window.wp
);
以上是关于javascript 这是一个用Vue.js建造的古腾堡街区的主要内容,如果未能解决你的问题,请参考以下文章
使用 Javascript/Vue.Js 合并数组中的数组
从ES6重新认识JavaScript设计模式: 建造者模式
用VUE做网站后台
JavaScript设计模式创建型设计模式--建造者模式
Vue js CLI 2导入并使用javascript插件
Javascript - 如何在 Vue.js 中使用多个复选框进行过滤?