Sie fügen hier ein paar Knockout-Konzepte zusammen.
Die Bindung attr
bindet HTML-Attribute für dieses Element an die Werte in Ihrem Modell.
Die Bindung click
ist eine Funktion, die beim click -Ereignis aufgerufen wird (normalerweise würden Sie auf eine Funktion in Ihrem Ansichtsmodell verweisen, aber Sie können eine anonyme Funktion inline einfügen).
zu tun, was Sie wollen Sie tun sollten:
<tr data-bind="click : gotoProject">
Dann so etwas wie dies nach Ihrer Ansicht Modell:
this.gotoProject = function(){
location.href = '/project/details' + this.Id;
}
Natürlich gibt es eine Million Möglichkeiten, ist so etwas wie dies anzuschließen und ohne Wenn ich den Code Ihres View-Modells sehe, kann ich keine näheren Angaben machen.
Auch bezogen auf die attr
Bindung, so dass Sie sehen können, wie es funktionieren soll. Wenn Sie noch nicht als Wert des Klickens hatte, sondern auf der obersten Ebene:
<tr data-bind="attr:{'location.href' : '/project/details/' + m.Id}">
Diese im folgenden führen würde (na ja, es wird nicht, wie es kein gültiges Attribut Name ist, aber Sie erhalten den Punkt).
<tr location.href="/projecct/details/thisID">
danke für die hilfe ist es wirklich geschätzt. – FranckMetis
Kein Problem. Das einzige, worüber ich dich begleite, ist vorsichtig mit dem 'This', es ist chaotisch in JS, wenn du nicht selbstsicher bist und doppelt so im Knockout, weil es bindet. Ich würde vorschlagen, den Ansatz "var self = this" in Ihren Viewmodels für Ihre Gesundheit zu verwenden (hier erwähnt http://knockoutjs.com/documentation/computedObservables.html). – Chao
Das hat perfekt funktioniert – FranckMetis