2016-03-05 98 views
-1

我的要求是這樣的 - 我會給每個教程視頻提供一組標籤。我必須建立一個HTML頁面,在搜索標籤時,與它相關的視頻列表應該被顯示。我如何去完成這個?不尋找代碼,只是可用的選項。構建搜索頁面

例子:

對於視頻1,搜索標籤是XML,JS,HTML。

對於Video2,搜索標籤是JS,JSON。

對於Video3,搜索標記是JSON,XML。

在搜索頁面中搜索「XML」時,Video1和Video3應該是 列出的。用戶應該能夠播放任何列出的視頻。

我能想到的一個選擇是將視頻名稱,路徑,搜索標籤放在XML文件中並用Javascript讀取。

我需要單獨的文件(如XML文件)來添加搜索標籤,而不是在HTML頁面中進行硬編碼。另外,SQL數據庫是最不優選的選項。

有點類似,但硬編碼的版本在這裏 - http://resource.grapii.com/files/jQueryFilter/divExample.html

+0

瀏覽角度文檔網站上的教程。你所要求的大部分內容都在該教程中 – charlietfl

回答

1

我更願意將數據存儲在JSON格式,這是更容易在JavaScript處理:

[ 
    { name: 'Video1', tags: ['xml', 'js', 'html'] }, 
    { name: 'Video2', tags: ['js', 'json'] }, 
    { name: 'Video3', tags: ['json', 'xml'] } 
] 

A)如果量可搜索的記錄相對較低(小於1000),您可以簡單地使用for循環遍歷所有記錄,並在新數組中收集匹配結果。更好的方法是使用lodash filter。要檢查記錄是否有標籤,請使用record.tags.indexOf(searchTag) != -1

B)如果您有大量記錄,那麼您必須通過標籤對記錄進行索引,以便您可以更快地搜索。最好的方法是使用後端數據庫引擎(SQL,Mongo等)。另一個(有點麻煩)的想法是,你使用腳本爲每個標籤生成不同的JSON/XML文件,而前端只加載用戶正在搜索的文件。