2016-01-13 47 views
0

我有一個需要編輯的現有項目。我在純JavaScript中經驗豐富,但在Knockout和asp.net中並非如此。用普通JS檢查Knockout.js

下一塊通吃值,並將其顯示:

<!-- ko foreach: counter().list--> 
    <span data-bind="text: count"></span> 
<!-- /ko --> 

所以我有這樣的:

1 2 3 4 5 etc. 

我如何檢查具體的數字和執行操作,基於目前數?

if(count==1){ 
    console.log("one"); 
} else if(count==2){ 
    console.log("two"); 
} // etc... 

所以基本上我需要用純JS混合knockout.js。這可能嗎?

+6

你會通過[該knockoutjs教程](http://learn.knockoutjs.com/)首先要幫自己一個忙,因爲它代表了你的問題,是因爲你有些模糊似乎缺少一些基礎知識。 – Jeroen

+0

你想要做什麼?你能否更真實地展示你在哪裏以及爲什麼要使用你正在展示的代碼,以及你當前的ko viewmodel是什麼樣子? – JotaBe

+0

你的問題並不清楚,因爲我們看不到你想要做的事情。如果你想根據JavaScript中的'count' var來做不同的事情,那麼看起來你應該知道這一點(儘管'switch'聲明可能更好),因爲它是javascript,而不是挖空。添加一些上下文 – Quango

回答

0

可以使用$指數,這又環路指數

可以說你有人員組成的陣列做檢查:

var people = [{name:'one'},{name:'two'},{name:'three'}]; 

<!-- ko foreach: people --> 
    <!-- ko if: $index === 1 --> 
     <span data-bind="text: name"></span> 
    <!-- /ko --> 
<!-- /ko --> 

在這種情況下,你使用$索引變量只打印集合中索引1的名稱('2')。請注意,「名稱」屬性在您的循環的上下文中自動設置。

來源 http://knockoutjs.com/documentation/foreach-binding.html