Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
From Traditional Web to Modern Web
Search
Neo Kusanagi
July 19, 2018
Technology
200
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
From Traditional Web to Modern Web
Neo Kusanagi
July 19, 2018
More Decks by Neo Kusanagi
See All by Neo Kusanagi
Claude Cowork for Begineers
neokn
0
140
WebConf 2025 - 工程師和 AI 小隊
neokn
0
26
使用 Genkit 以及 Gemini 打造你的 Agentic ChatBot
neokn
0
65
Chat Bot 的隱藏知識庫 - RAG 外的第二種選擇
neokn
0
120
From Commit to Mulitverse
neokn
0
240
AUGM 2017 Electron talk
neokn
0
110
Other Decks in Technology
See All in Technology
作品が生態系になった ─ Mini Tokyo 3D から世界へ
nagix
0
180
おい、エージェントを使って終わらせろ
nwiizo
0
190
Deployment の 先にある AI Agent 基盤 - kagent vNext、Agent Substrate、Hermes から読み解く Agent Runtime の現在地 / k8s-matsuri-2-ai-agent-platform-amsy810
masayaaoyama
3
500
Deploying a Full-Stack Bun-Native Framework on Cloudflare Workers
7nohe
0
160
2026-09-09 【sigma_ucj#1】Sigma を IaC 管理したい! / IaC for Sigma
civitaspo
0
130
AIを活用するために決めた "やらないこと" - 価値に注目する / Not betting on AI
soudai
PRO
1
500
Sigmaで作る業務アプリ
kazushiro_honma
0
140
Snowflakeで実現する全社横断の顧客の声(VOC)分析・活用基盤@Snowflake World Tour Tokyo 2026
yuto16
0
210
Minecraft JavaのMODをSwiftで作る
1mash0
0
150
AI時代、データエンジニアが一番おもろい
genshun9
0
540
AI 時代のスタートアップエコシステ厶から考究する技術的負債との向き合い方
m3m0r7
PRO
2
1.5k
「守り」で活用するオンデバイスLLM 〜写ってはいけないを総力戦で防ぐ〜 / iOSDC Japan 2026
nakamuuu
0
150
Featured
See All Featured
Scaling GitHub
holman
464
140k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
2.9k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
We Are The Robots
honzajavorek
0
370
[SF Ruby Conf 2025] Rails X
palkan
2
1.4k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.7k
sira's awesome portfolio website redesign presentation
elsirapls
0
410
Un-Boring Meetings
codingconduct
0
420
Mind Mapping
helmedeiros
1
360
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.2k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
520
Transcript
modern web
few years ago 1st Modern Web
None
None
None
None
None
None
None
None
None
None
None
None
None
None
Our site already done for it
Our site already done for it
None
None
Traditional
None
None
None
None
None
None
None
Back to Space
None
None
None
None
None
None
None
None
<script src="//cdn.jsdelivr.net/npm/vue"></script>
yarn global add @vue/cli
var app = new Vue({ el: '#app', data: { message:
'Hello Vue!' } }) <div id="app"> {{ message }} </div>
None
None
Prod M Prod P Prod N Prod U Prod S
Prod J Prod A Prod E Prod V
product-list.cshtml <div class="prod-list"> @foreach (var item in Model.Products) { <div
class="@item.ProdCategoryClass"> @if (item.IsNew) { <div class="new-ribbon">@Resource.New</div> } <div class="prod-img
[email protected]
@item.ImgLang" style="background-image: url(@Model.ImgCdnUrl/@
[email protected]
)" title="@item.Name"></div> <span class="prod-name" data-pid="@item.ProdId">@item.Name</span> <a href="/providers/@item.ProviderId">@item.Provider</a> </div> } </div>
<div class="prod-list"> @foreach (var item in Model.Products) { <div class="@item.ProdCategoryClass">
@if (item.IsNew) { <div class="new-ribbon">@Resource.New</div> } <div class="prod-img
[email protected]
@item.ImgLang" style="background-image: url(@Model.ImgCdnUrl/@
[email protected]
)" title="@item.Name"></div> <span class="prod-name" data-pid="@item.ProdId">@item.Name</span> <a href="/providers/@item.ProviderId">@item.Provider</a> </div> } </div>
<div class="prod-list"> @foreach (var item in Model.Products) { <div class="@item.ProdCategoryClass">
@if (item.IsNew) { <div class="new-ribbon">@Resource.New</div> } <div class="prod-img
[email protected]
@item.ImgLang" style="background-image: url(@Model.ImgCdnUrl/@
[email protected]
)" title="@item.Name"></div> <span class="prod-name" data-pid="@item.ProdId">@item.Name</span> <a href="/providers/@item.ProviderId">@item.Provider</a> </div> } </div>
<div class="prod-list"> @foreach (var item in Model.Products) { <div class="@item.ProdCategoryClass">
@if (item.IsNew) { <div class="new-ribbon">@Resource.New</div> } <div class="prod-img
[email protected]
@item.ImgLang" style="background-image: url(@Model.ImgCdnUrl/@
[email protected]
)" title="@item.Name"></div> <span class="prod-name" data-pid="@item.ProdId">@item.Name</span> <a href="/providers/@item.ProviderId">@item.Provider</a> </div> } </div>
<div class="prod-list"> @foreach (var item in Model.Products) { <div class="@item.ProdCategoryClass">
@if (item.IsNew) { <div class="new-ribbon">@Resource.New</div> } <div class="prod-img
[email protected]
@item.ImgLang" style="background-image: url(@Model.ImgCdnUrl/@
[email protected]
)" title="@item.Name"></div> <span class="prod-name" data-pid="@item.ProdId">@item.Name</span> <a href="/providers/@item.ProviderId">@item.Provider</a> </div> } </div>
None
None
Prod M Prod P Prod N Prod U Prod S
Prod J Prod A Prod E Prod V
<div class="prod-list"> @foreach (var item in Model.Products) { <div class="@item.ProdCategoryClass">
@if (item.IsNew) { <div class="new-ribbon">@Resource.New</div> } <div class="prod-img
[email protected]
@item.ImgLang" style="background-image: url(@Model.ImgCdnUrl/@
[email protected]
)" title="@item.Name"></div> <span class="prod-name" data-pid="@item.ProdId">@item.Name</span> <a href="/providers/@item.ProviderId">@item.Provider</a> </div> } </div>
None
<div id="vue-scope" class="prod-list"> <div v-for="item in products" :class="item.prodCategoryClass"> <div v-if="item.isNew"
class="new-ribbon">{{ Resource.New }}</div> <div :class="['prod-img', `prod-img${item.id}-${item.imgLang}`]" :style="`background-image: url(${imgCdnUrl}/${item.iconPath}?${imgVersion})`" :title="item.name"></div> <span class="prod-name" :data-pid="item.prodId">{{ item.name }}</span> <a :href="`/providers/${item.providerId}`">{{ item.provider }}</a> </div> </div> <script> var vueApp = new Vue({ el: '#vue-scope’, data: { products: null }, created() { $.ajax('/api/products').done((data) => { this.products = data }); }, }); </script>
<div id="vue-scope" class="prod-list"> <div v-for="item in products" :class="item.prodCategoryClass"> <div v-if="item.isNew"
class="new-ribbon">{{ Resource.New }}</div> <div :class="['prod-img', `prod-img${item.id}-${item.imgLang}`]" :style="`background-image: url(${imgCdnUrl}/${item.iconPath}?${imgVersion})`" :title="item.name"></div> <span class="prod-name" :data-pid="item.prodId">{{ item.name }}</span> <a :href="`/providers/${item.providerId}`">{{ item.provider }}</a> </div> </div> <script> var vueApp = new Vue({ el: '#vue-scope’, data: { products: null }, created() { $.ajax('/api/products').done((data) => { this.products = data }); }, }); </script>
<div id="vue-scope" class="prod-list"> <div v-for="item in products" :class="item.prodCategoryClass"> <div v-if="item.isNew"
class="new-ribbon">{{ Resource.New }}</div> <div :class="['prod-img', `prod-img${item.id}-${item.imgLang}`]" :style="`background-image: url(${imgCdnUrl}/${item.iconPath}?${imgVersion})`" :title="item.name"></div> <span class="prod-name" :data-pid="item.prodId">{{ item.name }}</span> <a :href="`/providers/${item.providerId}`">{{ item.provider }}</a> </div> </div> <script> var vueApp = new Vue({ el: '#vue-scope’, data: { products: null }, created() { $.ajax('/api/products').done((data) => { this.products = data }); }, }); </script>
<div id="vue-scope" class="prod-list"> <div v-for="item in products" :class="item.prodCategoryClass"> <div v-if="item.isNew"
class="new-ribbon">{{ Resource.New }}</div> <div :class="['prod-img', `prod-img${item.id}-${item.imgLang}`]" :style="`background-image: url(${imgCdnUrl}/${item.iconPath}?${imgVersion})`" :title="item.name"></div> <span class="prod-name" :data-pid="item.prodId">{{ item.name }}</span> <a :href="`/providers/${item.providerId}`">{{ item.provider }}</a> </div> </div> <script> var vueApp = new Vue({ el: '#vue-scope’, data: { products: null }, created() { $.ajax('/api/products').done((data) => { this.products = data }); }, }); </script>
<div id="vue-scope" class="prod-list"> <div v-for="item in products" :class="item.prodCategoryClass"> <div v-if="item.isNew"
class="new-ribbon">{{ Resource.New }}</div> <div :class="['prod-img', `prod-img${item.id}-${item.imgLang}`]" :style="`background-image: url(${imgCdnUrl}/${item.iconPath}?${imgVersion})`" :title="item.name"></div> <span class="prod-name" :data-pid="item.prodId">{{ item.name }}</span> <a :href="`/providers/${item.providerId}`">{{ item.provider }}</a> </div> </div> <script> var vueApp = new Vue({ el: '#vue-scope’, data: { products: null }, created() { $.ajax('/api/products').done((data) => { this.products = data }); }, }); </script>
<div id="vue-scope" class="prod-list"> <div v-for="item in products" :class="item.prodCategoryClass"> <div v-if="item.isNew"
class="new-ribbon">{{ Resource.New }}</div> <div :class="['prod-img', `prod-img${item.id}-${item.imgLang}`]" :style="`background-image: url(${imgCdnUrl}/${item.iconPath}?${imgVersion})`" :title="item.name"></div> <span class="prod-name" :data-pid="item.prodId">{{ item.name }}</span> <a :href="`/providers/${item.providerId}`">{{ item.provider }}</a> </div> </div> <script> var vueApp = new Vue({ el: '#vue-scope’, data: { products: null }, created() { $.ajax('/api/products').done((data) => { this.products = data }); }, }); </script>
<div id="vue-scope" class="prod-list"> <div v-for="item in products" :class="item.prodCategoryClass"> <div v-if="item.isNew"
class="new-ribbon">{{ Resource.New }}</div> <div :class="['prod-img', `prod-img${item.id}-${item.imgLang}`]" :style="`background-image: url(${imgCdnUrl}/${item.iconPath}?${imgVersion})`" :title="item.name"></div> <span class="prod-name" :data-pid="item.prodId">{{ item.name }}</span> <a :href="`/providers/${item.providerId}`">{{ item.provider }}</a> </div> </div> <script> var vueApp = new Vue({ el: '#vue-scope’, data: { products: null }, created() { $.ajax('/api/products').done((data) => { this.products = data }); }, }); </script>
<div id="vue-scope" class="prod-list"> <div v-for="item in products" :class="item.prodCategoryClass"> <div v-if="item.isNew"
class="new-ribbon">{{ Resource.New }}</div> <div :class="['prod-img', `prod-img${item.id}-${item.imgLang}`]" :style="`background-image: url(${imgCdnUrl}/${item.iconPath}?${imgVersion})`" :title="item.name"></div> <span class="prod-name" :data-pid="item.prodId">{{ item.name }}</span> <a :href="`/providers/${item.providerId}`">{{ item.provider }}</a> </div> </div> <script> var vueApp = new Vue({ el: '#vue-scope’, data: { products: null }, created() { $.ajax('/api/products').done((data) => { this.products = data }); }, }); </script>
<div id="vue-scope" class="prod-list"> <div v-for="item in products" :class="item.prodCategoryClass"> <div v-if="item.isNew"
class="new-ribbon">{{ Resource.New }}</div> <div :class="['prod-img', `prod-img${item.id}-${item.imgLang}`]" :style="`background-image: url(${imgCdnUrl}/${item.iconPath}?${imgVersion})`" :title="item.name"></div> <span class="prod-name" :data-pid="item.prodId">{{ item.name }}</span> <a :href="`/providers/${item.providerId}`">{{ item.provider }}</a> </div> </div> <script> var vueApp = new Vue({ el: '#vue-scope’, data: { products: null }, created() { $.ajax('/api/products').done((data) => { this.products = data }); }, }); </script>
None
<div class="prod-list"> @foreach (var item in Model.Products) { <div class="@item.ProdCategoryClass">
@if (item.IsNew) { <div class="new-ribbon">@Resource.New</div> } else if (item.IsSoldOut) { <div class="sold-out-ribbon">@Resource.SoldOut</div> } <div class="prod-img
[email protected]
@item.ImgLang" style="background-image: url(@Model.ImgCdnUrl/@
[email protected]
)" title="@item.Name"></div> <span class="prod-name" data-pid="@item.ProdId">@item.Name</span> <a href="/providers/@item.ProviderId">@item.Provider</a> </div> } </div>
None
<div class="prod-list"> @foreach (var item in Model.Products) { <div class="@item.ProdCategoryClass">
@if (item.IsNew) { <div class="new-ribbon">@Resource.New</div> } <div class="prod-img
[email protected]
@item.ImgLang" style="background-image: url(@Model.ImgCdnUrl/@
[email protected]
)" title="@item.Name"></div> <span class="prod-name" data-pid="@item.ProdId">@item.Name</span> <a href="/providers/@item.ProviderId">@item.Provider</a> </div> } </div>
<div id="vue-scope" class="prod-list"> ~~~~~~ </div> <script> var vueApp = new
Vue({ el: '#vue-scope', }); </script>
<div id="vue-scope" class="prod-list"> @foreach (var item in Model.Products) { <div
class="@item.ProdCategoryClass"> @if (item.IsNew) { <div class="new-ribbon">@Resource.New</div> } <div class="prod-img
[email protected]
@item.ImgLang" style="background-image: url(@Model.ImgCdnUrl/@
[email protected]
)" title="@item.Name"></div> <span class="prod-name" data-pid="@item.ProdId">@item.Name</span> <a href="/providers/@item.ProviderId">@item.Provider</a> </div> } </div>
<div id="vue-scope" class="prod-list"> @foreach (var item in Model.Products) { <div
class="@item.ProdCategoryClass"> <div v-if="@item.IsNew.ToString().ToLower()" class="new-ribbon"> @Resource.New </div> <div class="prod-img
[email protected]
@item.ImgLang" style="background-image: url(@Model.ImgCdnUrl/@
[email protected]
)" title="@item.Name"></div> <span class="prod-name" data-pid="@item.ProdId">@item.Name</span> <a href="/providers/@item.ProviderId">@item.Provider</a> </div> } </div>
<div id="vue-scope" class="prod-list"> @foreach (var item in Model.Products) { <div
class="@item.ProdCategoryClass"> <div v-if="@item.IsNew.ToString().ToLower()" class="new-ribbon"> @Resource.New </div> <div class="prod-img
[email protected]
@item.ImgLang" style="background-image: url(@Model.ImgCdnUrl/@
[email protected]
)" title="@item.Name"></div> <span class="prod-name" data-pid="@item.ProdId">@item.Name</span> <a href="/providers/@item.ProviderId">@item.Provider</a> </div> } </div> v-if="true" or v-if="false"
<div id="vue-scope" class="prod-list"> @foreach (var item in Model.Products) { <div
class="@item.ProdCategoryClass"> <div v-if="@item.IsNew.ToString().ToLower()" class="new-ribbon"> @Resource.New </div> <div v-else-if="@item.IsSoldOut.ToString().ToLower()" class="sold-out-ribbon"> @Resource.SoldOut </div> <div class="prod-img
[email protected]
@item.ImgLang" style="background-image: url(@Model.ImgCdnUrl/@
[email protected]
)" title="@item.Name"></div> <span class="prod-name" data-pid="@item.ProdId">@item.Name</span> <a href="/providers/@item.ProviderId">@item.Provider</a> </div> } </div>
None
<div id="vue-scope" class="prod-list"> <div v-for="item in products" :class="item.prodCategoryClass"> <div v-if="item.isNew"
class="new-ribbon">@Resource.New</div> <div :class="['prod-img', `prod-img${item.id}-${item.imgLang}`]" :style="`background-image: url(@Model.ImgCdnUrl/${item.iconPath}
[email protected]
)`" :title="item.name"></div> <span class="prod-name" :data-pid="item.prodId">{{ item.name }}</span> <a :href="`/providers/${item.providerId}`">{{ item.provider }}</a> </div> </div> <script> var vueApp = new Vue({ el: '#vue-scope’, data: { products: null }, created() { $.ajax('/api/products').done((data) => { this.products = data }); }, }); </script>
<div id="vue-scope" class="prod-list"> <div v-for="item in products" :class="item.prodCategoryClass"> <div v-if="item.isNew"
class="new-ribbon">@Resource.New</div> <div :class="['prod-img', `prod-img${item.id}-${item.imgLang}`]" :style="`background-image: url(@Model.ImgCdnUrl/${item.iconPath}
[email protected]
)`" :title="item.name"></div> <span class="prod-name" :data-pid="item.prodId">{{ item.name }}</span> <a :href="`/providers/${item.providerId}`">{{ item.provider }}</a> </div> </div> <script> var vueApp = new Vue({ el: '#vue-scope’, data: { products: null }, created() { $.ajax('/api/products').done((data) => { this.products = data }); }, }); </script>
None
<div id="vue-scope" class="prod-list"> <div v-for="item in products" :class="item.prodCategoryClass"> <div v-if="item.isNew"
class="new-ribbon">@Resource.New</div> <div :class="['prod-img', `prod-img${item.id}-${item.imgLang}`]" :style="`background-image: url(${imgCdnUrl}/${item.iconPath}?${imgVersion})`" :title="item.name"></div> <span class="prod-name" :data-pid="item.prodId">{{ item.name }}</span> <a :href="`/providers/${item.providerId}`">{{ item.provider }}</a> </div> </div> <script> var vueApp = new Vue({ el: '#vue-scope’, data: @Html.Raw(JsonConvert.SerializeObject(Model)), }); </script>
<div id="vue-scope" class="prod-list"> <div v-for="item in products" :class="item.prodCategoryClass"> <div v-if="item.isNew"
class="new-ribbon">@Resource.New</div> <div :class="['prod-img', `prod-img${item.id}-${item.imgLang}`]" :style="`background-image: url(${imgCdnUrl}/${item.iconPath}?${imgVersion})`" :title="item.name"></div> <span class="prod-name" :data-pid="item.prodId">{{ item.name }}</span> <a :href="`/providers/${item.providerId}`">{{ item.provider }}</a> </div> </div> <script> var vueApp = new Vue({ el: '#vue-scope’, data: @Html.Raw(JsonConvert.SerializeObject(Model)), }); </script> “sensitive data”
<div id="vue-scope" class="prod-list"> <div v-for="item in products" :class="item.prodCategoryClass"> <div v-if="item.isNew"
class="new-ribbon">@Resource.New</div> <div :class="['prod-img', `prod-img${item.id}-${item.imgLang}`]" :style="`background-image: url(${imgCdnUrl}/${item.iconPath}?${imgVersion})`" :title="item.name"></div> <span class="prod-name" :data-pid="item.prodId">{{ item.name }}</span> <a :href="`/providers/${item.providerId}`">{{ item.provider }}</a> </div> </div> <script> var vueApp = new Vue({ el: '#vue-scope’, data: @Html.Raw(JsonConvert.SerializeObject(Model)), }); </script> “sensitive data” public class DemoViewModel { [JsonIgnore] public string SensitiveData }
None
None
<div id="vue-scope" class="prod-list"> <div v-for="item in products" :class="item.prodCategoryClass"> <div v-if="item.isNew"
class="new-ribbon">@Resource.New</div> <div :class="['prod-img', `prod-img${item.id}-${item.imgLang}`]" :style="`background-image: url(${imgCdnUrl}/${item.iconPath}?${imgVersion})`" :title="item.name"></div> <span class="prod-name" :data-pid="item.prodId">{{ item.name }}</span> <a :href="`/providers/${item.providerId}`">{{ item.provider }}</a> </div> </div> <script> var vueApp = new Vue({ el: '#vue-scope’, data: @Html.Raw(JsonConvert.SerializeObject(Model)), }); </script>
<div id="vue-scope" class="prod-list"> <div v-for="item in products" :class="item.prodCategoryClass"> <div v-if="item.isNew"
class="new-ribbon">{{ _resource.new }}</div> <div :class="['prod-img', `prod-img${item.id}-${item.imgLang}`]" :style="`background-image: url(${imgCdnUrl}/${item.iconPath}?${imgVersion})`" :title="item.name"></div> <span class="prod-name" :data-pid="item.prodId">{{ item.name }}</span> <a :href="`/providers/${item.providerId}`">{{ item.provider }}</a> </div> </div> <script> var vueApp = new Vue({ mixins: [$resource], el: '#vue-scope’, data: @Html.Raw(JsonConvert.SerializeObject(Model)), }); </script> <script> var $resource = { data: function() { return { _resource: { new: "@Resource.New", }, }; }, }; </script>
<div id="vue-scope" class="prod-list"> <div v-for="item in products" :class="item.prodCategoryClass"> <div v-if="item.isNew"
class="new-ribbon">{{ _resource.new }}</div> <div :class="['prod-img', `prod-img${item.id}-${item.imgLang}`]" :style="`background-image: url(${imgCdnUrl}/${item.iconPath}?${imgVersion})`" :title="item.name"></div> <span class="prod-name" :data-pid="item.prodId">{{ item.name }}</span> <a :href="`/providers/${item.providerId}`">{{ item.provider }}</a> </div> </div> <script> var vueApp = new Vue({ mixins: [$resource], el: '#vue-scope’, data: @Html.Raw(JsonConvert.SerializeObject(Model)), }); </script> <script> var $resource = { data: function() { return { _resource: { new: "@Resource.New", }, }; }, }; </script>
<div id="vue-scope" class="prod-list"> <div v-for="item in products" :class="item.prodCategoryClass"> <div v-if="item.isNew"
class="new-ribbon">{{ _resource.new }}</div> <div :class="['prod-img', `prod-img${item.id}-${item.imgLang}`]" :style="`background-image: url(${imgCdnUrl}/${item.iconPath}?${imgVersion})`" :title="item.name"></div> <span class="prod-name" :data-pid="item.prodId">{{ item.name }}</span> <a :href="`/providers/${item.providerId}`">{{ item.provider }}</a> </div> </div> <script> var vueApp = new Vue({ mixins: [$resource], el: '#vue-scope’, data: @Html.Raw(JsonConvert.SerializeObject(Model)), }); </script> <script> var $resource = { data: function() { return { _resource: { new: "@Resource.New", }, }; }, }; </script>
None
None
<div id="vue-scope" class="prod-list"> <item-component v-for="item in products" :item="item" :img-cdn-url="ImgCdnUrl" :img-version="ImgVersion"
/> </div> <script> var vueApp = new Vue({ el: '#vue-scope’, data: @Html.Raw(JsonConvert.SerializeObject(Model)), }); </script>
<template id="item-template"> <div v-for="item in products" :class="item.prodCategoryClass"> <div v-if="item.isNew" class="new-ribbon">{{
_resource.new }}</div> <div :class="['prod-img', `prod-img${item.id}-${item.imgLang}`]" :style="`background-image: url(${imgCdnUrl}/${item.iconPath}?${imgVersion})`" :title="item.name"></div> <span class="prod-name" :data-pid="item.prodId">{{ item.name }}</span> <a :href="`/providers/${item.providerId}`">{{ item.provider }}</a> </div> </template> <script> var ItemComponent = Vue.component('item-component', { template: '#item-template', mixins: [$resource], props: ['item', 'imgCdnUrl', 'imgVersion'], }); </script>
<template id="item-template"> <div v-for="item in products" :class="item.prodCategoryClass"> <div v-if="item.isNew" class="new-ribbon">{{
_resource.new }}</div> <div :class="['prod-img', `prod-img${item.id}-${item.imgLang}`]" :style="`background-image: url(${imgCdnUrl}/${item.iconPath}?${imgVersion})`" :title="item.name"></div> <span class="prod-name" :data-pid="item.prodId">{{ item.name }}</span> <a :href="`/providers/${item.providerId}`">{{ item.provider }}</a> </div> </template> <script> var ItemComponent = Vue.component('item-component', { template: '#item-template’, mixins: [$resource], props: ['item', 'imgCdnUrl', 'imgVersion'], }); </script>
<template id="item-template"> <div v-for="item in products" :class="item.prodCategoryClass"> <div v-if="item.isNew" class="new-ribbon">{{
_resource.new }}</div> <div :class="['prod-img', `prod-img${item.id}-${item.imgLang}`]" :style="`background-image: url(${imgCdnUrl}/${item.iconPath}?${imgVersion})`" :title="item.name"></div> <span class="prod-name" :data-pid="item.prodId">{{ item.name }}</span> <a :href="`/providers/${item.providerId}`">{{ item.provider }}</a> </div> </template> <script> var ItemComponent = Vue.component('item-component', { template: '#item-template’, mixins: [$resource], props: ['item', 'imgCdnUrl', 'imgVersion'], }); </script>
None
None
None
None
None
None
None
None
None
None
[email protected]