如何在条件下使用vuejs指令?

时间:2018-07-12 12:41:30

标签: vue.js vuejs2 vuejs-directive

我正在我的项目中起诉https://github.com/DominikSerafin/vuebar指令。现在取决于某些变量,我想在html中使用它。

<div v-bar>
//this div contains huge html like 1200 lines of code and doing
// v-if is not option since i will have to duplicate all of its content
</div>

总结一下:

<div v-bar v-if="somevar"></div> // is not and option bceuse that div contains 1200 of code

我有什么办法可以说:

<div some_var ? v-bar:''></div>

还是要让我的指令继承v栏并呈现?

2 个答案:

答案 0 :(得分:0)

否,在某些情况下无法应用指令。 但是您可以尝试从文档中以编程方式创建和销毁自定义滚动条:

  

公共方法。

     

您可以从组件上下文中访问它们:this.$vuebar。   或者,您可以从主Vue实例访问它们:   Vue.vuebar。每个方法都需要通过Vuebar滚动容器   元素作为第一个参数。您可以使用$refs轻松地做到这一点。

initScrollbar(DOM Element, options)
getState(DOM Element)
refreshScrollbar(DOM Element, options)
destroyScrollbar(DOM Element)

答案 1 :(得分:0)

实际上,您可以做一件事。使用指令挂钩参数。

您可以根据指令参数内的hook参数来设置条件。而且您可以确保这些钩子参数是反应性的,以便在需要时可以更改。

根据绑定值,在指令代码内写逻辑是否对指令执行某些操作。

阅读this,如果不清楚,请发表评论。