基于变量的vuejs指令

时间:2017-08-21 19:29:25

标签: vue.js vuetify.js

是否可以动态分配指令?我想根据名为type的变量分配成功或错误。我目前这样做(我想替换):

v-snackbar(v-if="type === 'success'", success, timeout=3000, bottom=true, right=true, v-model='snackbar') {{ snackbarText }}
    v-btn(flat, @click.native="snackbar = false")
        v-icon close
v-snackbar(v-if="type === 'error'", error, timeout=3000, bottom=true, right=true, v-model='snackbar') {{ snackbarText }}
    v-btn(flat, @click.native="snackbar = false")
        v-icon close

1 个答案:

答案 0 :(得分:1)

错误和成功不是指令,它们是v-snackbar组件上的道具。

您可以使用布尔表达式或变量直接绑定到错误和成功道具。

v-snackbar(:error="type === 'error'", :success="type === 'success'", timeout='3000', bottom='bottom', right='right', v-model='snackbar')
    | {{ snackbarText }}
    v-btn(flat='flat', @click.native='snackbar = false')
      v-icon close

对于那些被哈巴狗语法混淆的人来说,这是html。

<v-snackbar :error="type === 'error'" :success="type === 'success'" timeout="3000" bottom="bottom" right="right" v-model="snackbar">{{ snackbarText }}
  <v-btn flat="flat" @click.native="snackbar = false">
    <v-icon>close</v-icon>
  </v-btn>
</v-snackbar>

查看vuetifyjs网站上的示例2,获取更完整的示例。 https://vuetifyjs.com/components/snackbars