VueJS - 如何将指令应用于所有匹配的标签?
VueJS - How to apply directives to all matching tags?
我想以编程方式将指令应用于所有 input
标记。两个原因是:
- 我不想通过我的应用中的所有输入来添加指令
- 如果我想在以后更改针对所有输入的指令,它就在一个地方。
这可能吗?我已经查看了 docs,但他们似乎没有提到以任何其他方式应用它,只是将标签直接应用于元素。
我现在的代码是这样的:
<input type="text" class="form-control input-sm" id="price" v-model="model.doc.price" v-floating-label>
您可以像这样将该指令绑定到条件
<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 即可删除该指令。
根据尤文:
Vue.js compilation happens when you instantiate/mount the root instance.
见https://github.com/vuejs/Discussion/issues/77#issuecomment-60339440
我认为您尝试做的事情不明智:搜索和替换,在许多文本编辑器或 IDE 中开箱即用,对于您解释的两个原因非常有帮助。
我好像脑死亡了。我只需要一个 input
组件 。然后我可以在那里更改我需要的内容,它会在输入组件被使用的任何地方更新,而不是使用标准 html input
标签,我将使用我的组件。
漫长的一天...
我自己回答了这个问题,而不是删除它,以防将来其他人有同样的脑死亡时刻;)
我想以编程方式将指令应用于所有 input
标记。两个原因是:
- 我不想通过我的应用中的所有输入来添加指令
- 如果我想在以后更改针对所有输入的指令,它就在一个地方。
这可能吗?我已经查看了 docs,但他们似乎没有提到以任何其他方式应用它,只是将标签直接应用于元素。
我现在的代码是这样的:
<input type="text" class="form-control input-sm" id="price" v-model="model.doc.price" v-floating-label>
您可以像这样将该指令绑定到条件
<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 即可删除该指令。
根据尤文:
Vue.js compilation happens when you instantiate/mount the root instance.
见https://github.com/vuejs/Discussion/issues/77#issuecomment-60339440
我认为您尝试做的事情不明智:搜索和替换,在许多文本编辑器或 IDE 中开箱即用,对于您解释的两个原因非常有帮助。
我好像脑死亡了。我只需要一个 input
组件 。然后我可以在那里更改我需要的内容,它会在输入组件被使用的任何地方更新,而不是使用标准 html input
标签,我将使用我的组件。
漫长的一天...
我自己回答了这个问题,而不是删除它,以防将来其他人有同样的脑死亡时刻;)