2014-01-25 42 views
2

我有一個提到圖像的飛鏢聚合物組件。該組件是路徑成分/標誌-header.html中如何引用飛鏢聚合物組件的圖像

<polymer-element name="logo-header"> 
    <template> 
    <style> 
    </style> 
    <img src="../image/youtube.png" style="width: 109px;height:47px;float:left" /> 
    </template> 
    <script type="application/dart" src="LogoHeader.dart"></script> 
</polymer-element> 

此代碼工作正常,當我生成項目並使用內置的應用程序。如果我只是運行應用程序,它不起作用。

我該如何引用圖像,以使URL對於內置版本和從調試器運行是正確的?


我的問題是,URL是在IMG SRC,當這是從鏢編輯器中的相對路徑時,這是從構建HTML運行於不同的運行。 (當我說跑,我的意思是打開HTML頁面)。

將URL放入樣式標記可解決問題,這使相對URL在從飛鏢編輯器運行或從構建html運行時相同。現在圖像目錄位於web目錄中,因此它的web/image/youtube.png。

<polymer-element name="logo-header"> 
    <template> 
    <style> 
     .youtube { 
     background-image:url('image/youtube.png'); 
     } 
    </style> 
    <div class="youtube" style="width: 109px;height:47px;float:left"></div> 
    </template> 
    <script type="application/dart" src="LogoHeader.dart"></script> 
</polymer-element> 

這解決了這個問題。

回答

1

當您將圖像放入[package]/asset/image(當然是圖像子目錄是可選的)目錄並使用路徑assets/image/youtube.png時,這應該起作用。從DartEditor運行時可能會失敗,因爲DartEditor恕我直言仍不支持asset目錄。

也看到Assets and Transformers

如果使用相對於你的web目錄的路徑,也應該工作。 要提供一個具體示例,有必要知道您的logo-header元素存儲在哪個目錄中。

+0

你說的是技術上是真實的,但因爲爲什麼他們用的是「資產」和詞聽起來很瘋狂「資產」意味着同樣的事情,它只是誘人的程序員瘋狂。 – Phil

0

問題是,當Dart應用程序從Dart編輯器(IDE)運行時,圖像的路徑與運行構建HTML(構建產品)時的圖像路徑不同。

也許這是一個錯誤或...不是一個錯誤,我不知道。它煩人的是,從IDE運行或從構建產品運行時,路徑應該有不同的路徑。解決的辦法是使用CSS,現在在問題中記錄了修復程序。