Skip to content

Commit d7e43eb

Browse files
posvachrisvfritz
authored andcommitted
add note about prop, and remove assignment (#1453)
* add note about prop, and remove assignment ref vuejs/vue#7683 * Consistently add props and ES5 functions to render function examples
1 parent e92d8d9 commit d7e43eb

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

src/v2/guide/render-function.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -319,6 +319,7 @@ Wherever something can be easily accomplished in plain JavaScript, Vue render fu
319319
This could be rewritten with JavaScript's `if`/`else` and `map` in a render function:
320320

321321
``` js
322+
props: ['items'],
322323
render: function (createElement) {
323324
if (this.items.length) {
324325
return createElement('ul', this.items.map(function (item) {
@@ -335,6 +336,7 @@ render: function (createElement) {
335336
There is no direct `v-model` counterpart in render functions - you will have to implement the logic yourself:
336337

337338
``` js
339+
props: ['value'],
338340
render: function (createElement) {
339341
var self = this
340342
return createElement('input', {
@@ -343,7 +345,6 @@ render: function (createElement) {
343345
},
344346
on: {
345347
input: function (event) {
346-
self.value = event.target.value
347348
self.$emit('input', event.target.value)
348349
}
349350
}
@@ -419,11 +420,12 @@ render: function (createElement) {
419420
And access scoped slots as functions that return VNodes from [`this.$scopedSlots`](../api/#vm-scopedSlots):
420421

421422
``` js
423+
props: ['message'],
422424
render: function (createElement) {
423-
// `<div><slot :text="msg"></slot></div>`
425+
// `<div><slot :text="message"></slot></div>`
424426
return createElement('div', [
425427
this.$scopedSlots.default({
426-
text: this.msg
428+
text: this.message
427429
})
428430
])
429431
}
@@ -432,7 +434,7 @@ render: function (createElement) {
432434
To pass scoped slots to a child component using render functions, use the `scopedSlots` field in VNode data:
433435

434436
``` js
435-
render (createElement) {
437+
render: function (createElement) {
436438
return createElement('div', [
437439
createElement('child', {
438440
// pass `scopedSlots` in the data object
@@ -479,7 +481,7 @@ import AnchoredHeading from './AnchoredHeading.vue'
479481

480482
new Vue({
481483
el: '#demo',
482-
render (h) {
484+
render: function (h) {
483485
return (
484486
<AnchoredHeading level={1}>
485487
<span>Hello</span> world!

0 commit comments

Comments
 (0)