私がきたsuccesptibleあるデータが無効であることをnullにするためにデータを防ぐVuejsは私のコンポーネントで
<template>
<p> field </p>
<p> {{ maybeInvalid }} </p>
<p> other field </p>
<template>
var component = {
data: function() {
return {
maybeInvalid: xxx
}
}
私はそれを修正するために3つのアイデアをしました:
1 - テンプレート
で使用v-if
v-else
<template>
<p> field </p>
<p v-if="isValid(maybeInvalid)"> {{ maybeInvalid }} </p>
<p v-else> invalid </p>
<p> other field </p>
<template>
...
methods: {
isValid: function (data) {
return data != null;
}
}
2 -
<template>
<p> field </p>
<p> {{ computedIsValid }} </p>
<p> other field </p>
<template>
computed: {
computedIsValid: function() {
return isValid(maybeInvalid) ? maybeInvalid : "invalid";
}
}
計算値を作ります
3 -
<template>
<p> field </p>
<is-valid-component :maybeInvalid="maybeInvalid" />
<p> other field </p>
<template>
...
components: {
isValidComponent: isValidComponent
}
が、私はそのパターンに
おかげ
を解決するために最善の(より多くの慣用)ソリューションです知っているしたいと思い、このコンポーネントをコンポーネントvar isValidCompoenent = {
props: ['maybeInvalid'],
template: `
<p v-if="isValid(maybeInvalid)"> {{ maybeInvalid }} </p>
<p v-else> invalid </p>`
methods: {
isValid: function (data) {
return data != null;
}
}
}
を構築し、使用
また、コンポーネントは、計算された、uはそれで計算されたプロパティでメソッドを置き換えることができますため、砂糖のように見える)ディレクティブを使用することができます。 uがしばしばisvalidをチェックする必要がある場合は、コンポーネントを選択する方が良い –