将vuejs 2.0和Thymeleaf与SpringBoot混合的奇怪行为

时间:2016-12-03 15:57:59

标签: spring-boot vue.js thymeleaf

我使用Vuejs 2.0编写了一些页面。在静态模式下,我的所有组件都可以工作,我可以验证设计。 所以,我试图将这些页面的源代码集成到Thymeleaf的Web Spring Boot项目中,但是一些渲染没有完成。

以下代码的用例:

<selectpicker id="selectReg" title="Sélectionnez des régions"
              data-width="100%" v-bind:multiple="true"
              v-on:selected="selectRegion" v-on:unselected="unselectRegion">

    <option value="44">Alsace-Champagne-Ardenne-Lorraine</option>
    <option value="75">Aquitaine-Limousin-Poitou-Charentes</option>
    <option value="84">Auvergne-Rhône-Alpes</option>
</selectpicker>

渲染结果为:

<selectpicker id="selectReg" title="Sélectionnez des régions"
              data-width="100%" v-bind:multiple="true"
              v-on:selected="selectRegion" v-on:unselected="unselectRegion">

    Alsace-Champagne-Ardenne-Lorraine
    Aquitaine-Limousin-Poitou-Charentes
    Auvergne-Rhône-Alpes
</selectpicker>

不保留选项。

另一个问题是v-for属性:

<optgroup label="Île-de-France">
    <option v-for="option in departementsFromRegion(11)" v-bind:value="option.value"
            v-bind:data-region="option.region">
        {{ option.text }}
    </option>
</optgroup>

结果,我在浏览器控制台中遇到错误,说明该选项未定义。

有关信息,我已将Thymelead配置为LEGACYHTML5。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

我找到了问题的根源。 Thymeleaf 2.x有一些问题,所以现在我使用3.0版本。

为此,我已将这些行添加到我的gradle配置中:

ext['thymeleaf.version'] = '3.0.0.RELEASE'
ext['thymeleaf-layout-dialect.version'] = '2.0.0'