Вы должны заключить строку в кавычки, иначе она будет искать переменную test
в контексте вашего компонента (props
или data
):
v-my-directive="'test'"
Внутри вашей пользовательской директивы вы можете получить доступ к переданному значению, как в binding.value
:
Vue.directive('demo', {
bind: function (el, binding, vnode) {
var s = JSON.stringify
el.innerHTML =
'name: ' + s(binding.name) + '<br>' +
'value: ' + s(binding.value) + '<br>' +
'expression: ' + s(binding.expression) + '<br>' +
'argument: ' + s(binding.arg) + '<br>' +
'modifiers: ' + s(binding.modifiers) + '<br>' +
'vnode keys: ' + Object.keys(vnode).join(', ')
}
})
См. Главу Пользовательские директивы .