可重复使用的html代码块

时间:2013-06-03 22:44:15

标签: javascript html5 modularity

我有几个html组件,我用一些javascript定制。例如,我有一个列表,其中包含一个按钮,用于添加和删除列表中的项目。我希望能够重用这些组件,但我不确定最好的方法(这个特定的项目是Spring MVC)。

我考虑过的选项是可以包含在其他页面或自定义标签中的jsp片段。是否存在不需要使用服务器的替代方案(例如标签处理)。如果我只是将一些html / javascript片段一起使用,似乎应该有一种简单的方法来使它们模块化。

1 个答案:

答案 0 :(得分:0)

大多数JS UI框架通过在JS中完全创建它们来提供UI组件。这可能是你最好的选择,因为它独立于你的服务器端frameowork(你可以使用它与ruby,php,.net),它可以保持你的HTML清洁。

对于列表w /按钮示例,您将从标准HTML对象上调用的JS函数中呈现列表和按钮。在您的情况下,如果您使用MVC框架将数据写入列表,您可以选择继续这样做并编写JS创建逻辑以接受列表作为输入,然后呈现您的高级样式和UI(如按钮) ) 周围。这使您仍然可以正常接受来自服务器端的数据,并为您的HTML代码提供与最终产品类似的外观(它只是缺少添加/删除按钮),但允许您重复使用HTML / JS逻辑尽可能。

如果您当前的代码如下所示:

<div class="addremovelist">
    <select>
        <option>blah</option>
        <option>blah</option>
        <option>blah</option>
    </select>
    <div class="addremovebuttons">
        <input type="button" value="Add" />
        <input type="button" value="Add All" />
        <input type="button" value="Remove" />
        <input type="button" value="Remove All" />
    </div>
<div>

你现在可以这样写:

<select id="myselect">
    <option>blah</option>
    <option>blah</option>
    <option>blah</option>
</select>

在窗口加载事件中使用以下javascript:

$('#myselect').addRemoveList({myoptions: 'ifnecessary'});

或类似的东西