Vuejs指令表达式值始终未定义

时间:2016-08-01 13:20:57

标签: javascript vue.js

我已经在bind函数中构建了一个非常小的jsfiddle来演示访问指令值。不幸的是,它总是返回undefined。

https://jsfiddle.net/matiascx/vz07t9wy/1/

bind: function(){
   console.log(this.value);
    this.el.innerText = this.value;
  }

2 个答案:

答案 0 :(得分:2)

您在指令中使用了错误的挂钩。作为docs say,绑定指令只被调用一次,并且不会获得传递给指令的值。您必须使用update指令。

update: function (value) {
    console.log(value);
    this.el.innerText = value;
}

the fiddle为例

答案 1 :(得分:0)

我参加聚会有点晚了,但对所有可能偶然发现 binding.value 在指令中的某些表达式未定义的人有一个提示。

v-directive="someTrueValue || someObject.notExistentKey"

您会期望它是:

true || undefined === true

但这不适用于指令。结果将是:

undefined

什么是有效的:

v-directive="someTrueValue || !!someObject.notExistentKey"