条件付きで設定する必要があるビューがあります。
シナリオ: 管理者が画面 B でユーザー名を選択すると、ユーザーが EG に入力した同じフォームに移動します。ただし、管理者はユーザーの要求を承認または拒否するオプションを持っています。
画面上の VM で、AI が次のことを実行できることを確認しました。
var vm = {
activate: function (data) {
console.log(data);
var id = data.id || -1;
if (id !== -1) {
router.isNavigating(true);
http.json('/api/user/'+ id )
.done(function (response) {
ko.viewmodel.updateFromModel(vm.userInfo, response);
router.isNavigating(false);
});
}
}
};
そしてB(ビュー&ビューモデル)
見る
<table>
<thead>
<tr>
<td>User</td>
<td>Date Requested</td>
<td>Action</td>
</tr>
</thead>
<tbody>
<tr>
<td>Mike</td>
<td>19 Jun 2013
</td>
<td>
<input type="button" value="Go" data-bind="click: function() { buttons.goTo(6) }" />
</td>
</tr>
</tbody>
</table>
ビューモデル
define(['durandal/plugins/router'], function (router) {
var buttons = {
goTo: function (id) {
console.log('goTo clicked');
//this does work in conjunction with my code on B
router.navigateTo('#/userinfo?id=' + id);
}
};
var vm = {
buttons: buttons
};
return vm;
});
私の問題は、Durandal を B からページ A に移動させるための最良の方法/またはその方法がわからないことです...私がしていることは正しいですか? 少し「ハッキー」な感じなので