2013-11-21 108 views
0

I have small requirement that i want to navigate to productdetail module from products grid.<a click=''> event binding in SPA using router.navigate

Products Grid contains the below

Product Id   | Product Name

123977844 | HTC ONEX

var router = require('plugins/router'); 
    router.navigate('welcome') 

我想轉到其他模塊(產品詳細)當我使用SPA,迪朗達爾點擊產品編號鏈接,要求JS和JS淘汰賽。 任何一個可以幫助...上

問候, 溼婆

+0

你試過到目前爲止什麼?什麼不起作用? – nemesv

回答

3

你有兩個選擇。

在HTML添加路由作爲一個正常的鏈接:

<a data-bind="attr:{href: '/#product/' + ProductId}, text: ProductName"></a> 

(更換ProductIdProcuctName與你的屬性)

添加一個單擊處理程序:

假設在遍歷產品數組時,HTML在foreach中。

<a href="#" data-bind="text: ProductName, click: $parent.goToProduct"></a> 

視圖模型:

var router = require('plugins/router'); 

var vm = { 
    goToProduct: function(product){ 
     router.navigate('product/' + product.ProductId); 
    } 
+0

鏈接approuch更好,因爲用戶可以使用它來與他人共享產品鏈接等 – Anders

+0

我同意,但使用'router.navigate'並不意味着唯一的URL不會顯示在導航欄中,用戶可以仍然導航到該視圖並共享該URL。 – margabit

+0

是的,但一個鏈接應該是一個鏈接:D – Anders