Vuejs:如何在模板中混合静态和动态内容?

时间:2019-02-20 22:58:51

标签: vue.js vuejs2 vue-component

这是我的vueJS模板

uint16_t ip_checksum(void* vdata,size_t length) {
    // Cast the data pointer to one that can be indexed.
    char* data=(char*)vdata;

    // Initialise the accumulator.
    uint32_t acc=0xffff;

    // Handle complete 16-bit blocks.
    for (size_t i=0;i+1<length;i+=2) {
        uint16_t word;
        memcpy(&word,data+i,2);
        acc+=ntohs(word);
        if (acc>0xffff) {
            acc-=0xffff;
        }
    }

    // Handle any partial block at the end of the data.
    if (length&1) {
        uint16_t word=0;
        memcpy(&word,data+length-1,1);
        acc+=ntohs(word);
        if (acc>0xffff) {
            acc-=0xffff;
        }
    }

    // Return the checksum in network byte order.
    return htons(~acc);
}

当我尝试将静态字符串template: ` <div> <div>{{ date}}</div> <div>{{ titre }}</div> <div>username: <a href='#fiche?username={{ username }}'>{{ username }}</a></div> </div>` #fiche混合使用时出现问题

一些替代方法是使用:

{{ username }}

然后定义链接或定义一个getFiche函数。

<div>username: <a :href='link'>{{ username }}</a></div>

是否有任何“快速”方法?

2 个答案:

答案 0 :(得分:3)

您可以在属性绑定中使用javascript:

my.matrix

<a :href="`#fiche?username=${username}`">

请注意,两者

<a :href="'#fiche?username=' + username">

`#fiche?username=${username}`

只是可以动态创建网址的javascript表达式。

答案 1 :(得分:0)

  

然后定义链接或定义一个getFiche函数。

方法是在 tick 上进行评估的,而计算所得的属性仅在需要时才运行,因此在此类情况下更受欢迎。

请参见https://vuejs.org/v2/guide/computed.html#Computed-Caching-vs-Methods

template: `...
  <a :href="ficheLink">{{username}}</a>
  ...`,
computed: {
  ficheLink () {
    return `#fiche?username=${this.username}`
  }
}