我有一个html元素In [164]: df
Out[164]:
a b
0 1 2.0
1 3 4.0
2 5 6.0
In [165]: df_out
Out[165]:
a b
0 [1, 3, 5] [2, 4, 6]
In [166]: df_back
Out[166]:
a b
0 1 2
1 3 4
2 5 6
,当我按下textarea_01
上有button_01
功能的onClick
时,我想添加一个样式
myFunction: function(event) {
//some code that does something
};
由于我不能在JSX中使用指令,我认为以下内容可行:
<textarea id="textareaID" style={{resetWidth}}/>
并添加到onClick
我的代码中使用的函数,所以它看起来像:
myFunction: function(event) {
var textarea = new Vue({
el: '#textareaID',
data: {
resetWidth: 'width: 10px'
}
})
//some code that does something
};
但它没有用,WebStorm告诉我
You are using the runtime-only build of Vue where the template compiler is not available
我如何解决这个问题并完成我想要做的事情,即在点击另一个元素后向html元素添加一个css属性?
注意:代码中使用了Webpack和followin github.com/vuejs/babel-plugin-transform-vue-jsx请注意,使用JSX时几乎不支持所有内置的Vue指令,唯一的例外是v -show,可以与v-show = {value}语法一起使用。
答案 0 :(得分:3)
您必须将style
属性绑定到Vue,因为您无法在标记属性上使用胡须:
<textarea id="textareaID" :style="resetWidth" />
因为您只使用运行时Vue版本,所以您应该尝试其他方法。
从textarea
:
<textarea id="textareaID" />
使用javascript在mounted
挂钩或您想要的其他lifecycle hook上设置元素的样式:
myFunction: function(event) {
var textarea = new Vue({
el: '#textareaID',
data: {
resetWidth: 'width: 10px'
},
mounted: function () {
this.$el.setAttribute("style", this.resetWidth);
},
})
//some code that does something
};