Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
216 views
in Technique[技术] by (71.8m points)

vue.js - How can I make the Vue component's class binding bind onto the inner element instead of the root element?

Suppose I have a very simple component that looks like this

Vue.component("my-component", {
  template: `
    <p class="foo bar">
      <span>Hi</span>
    </p>
  `,
});

If I use the component like this

<my-component class="baz boo"></my-component>

Final rendered HTML will look like this

<p class="foo bar baz boo">
  <span>Hi</span>
</p>

However, I want to bind my class onto the <span> tag instead of the root element.

This is the result I want

<p class="foo bar">
  <span class="baz boo">Hi</span>
</p>

How can I achieve this?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

For me, you can pass it as props.

<my-component :className="baz booz" />

inside that component

<span :class="class-name"> Hi </span>

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...