suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Programmgesteuertes Hinzufügen von Vue-Anweisungen zu Elementen: eine Schritt-für-Schritt-Anleitung für v-if

Wir können mit reinem JS programmgesteuert benutzerdefinierte Attribute zu Elementen hinzufügen, wie wäre es mit Vue-Anweisungen wie element.attr('data-attr', someValue),但是像 v-if

Angesichts der folgenden Elemente

<p v-html="data.title"></p>

Wie füge ich v-if programmgesteuert hinzu? Ich frage dies aus Automatisierungsgründen, da es Hunderte dynamischer Variablen geben wird, die möglicherweise vorhanden sind oder nicht.

Das gewünschte Ergebnis ist

<p v-if="data.title" v-html="data.title"></p>

Der einzige mir bekannte Schritt besteht darin, die Elemente in ref 获取 created() zu verwenden.

P粉883973481P粉883973481488 Tage vor635

Antworte allen(1)Ich werde antworten

  • P粉764785924

    P粉7647859242023-09-08 12:52:54

    根据声明 - 将有数百个可能存在或可能不存在的动态变量。但是如果我在您的评论中看到,您说 >无循环。那么你如何渲染动态元素?

    根据我的理解,您希望将数据属性动态绑定到 HTML 模板中。您可以尝试一下这个解决方案,看看它是否符合您的要求。

    new Vue({
      el: '#app',
      data: {
        data: {
            heading: '<H1>Heading 1</H1>',
          title: '<h3>Title 1</H3>'
        }
      }
    })
    <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
    
    <div id="app">
      <p v-for="(item, index) in Object.keys(data)" :key="index"  v-html="data[item]"></p>
    </div>

    上面的代码片段始终适用于现有的动态属性。

    Antwort
    0
  • StornierenAntwort