我想以编程方式将指令应用于所有input
标签。造成这种情况的两个原因是:
- 我不想通过应用程序中的所有输入来添加指令
- 如果我想在以后针对所有输入更改指令,它在一个地方。
这可能吗?我已经查看了文档,但他们似乎没有提到以任何其他方式应用它,而不是将标签直接应用于元素。
我当前的代码是这样的:
<input type="text" class="form-control input-sm" id="price" v-model="model.doc.price" v-floating-label>
我似乎有一个脑死亡的时刻。我只需要一个input
组件。然后我可以在那里更改我需要的内容,它将在使用输入组件的所有位置更新,而不是使用标准的 html input
标签,我将使用我的组件。
漫长的一天...
我自己回答了这个问题,而不是删除它,以防其他人在未来有同样的脑死亡时刻;)
根据Evan You的说法:
Vue.js编译发生在你实例化/挂载根实例时。
见 https://github.com/vuejs/Discussion/issues/77#issuecomment-60339440
我不认为您要做的是理智的:搜索和替换,在许多文本编辑器或 IDE 中开箱即用,对于您的两个解释原因将非常有帮助。
您可以将该指令绑定到这样的条件
<input type="text"
class="form-control input-sm"
id="price"
v-model="model.doc.price"
:v-floating-label=(condition)>
如果condition == true
,v-model-float
指令将应用于您的输入。
更新1:从注释中,实现仍然相同,只是您从一个地方控制条件。这样,您可以在以后通过简单地将该条件设置为 false 来删除该指令。