にリダイレクトされませんが正しくバインドhref="/site/models#{"catId": "76b4a8ed-1350-46af-8184-3b68029cbd22"}"
が正しく表示されますが、アイテムをクリックすると新しいページにリダイレクトされません。私の最初の考えはおそらくハッシュのためだと思っていましたが、そうではありませんでしたので、_self
のいずれかにはtarget
属性を使用しようとしました。私の次の推測では、これをオーバーライドするjavascriptメソッドがあり、これまでのところ何も見つかりませんでした。だから私の質問はなぜそれは動作しないのですか?Knockoutjsは、タグのHREFが、私はこのHTMLを持っているページ
ノックアウトのViewModel:
landing.dataModels.Category = function (_id, _categoryTypeId, _name, _description, _parentId, _children) {
var self = this;
this.ID = ko.observable(_id);
this.CategoryTypeId = ko.observable(_categoryTypeId);
this.Name = ko.observable(_name);
this.Description = ko.observable(_description);
this.ParentId = ko.observable(_parentId);
this.Url = ko.computed(function() {
return '/site/models#{"catId": "' + self.ID() + '"}';
});
this.Children = ko.observableArray([]);
this.getChildren = ko.computed(function() {
return self.Children();
});
_.each(_children, function (item) {
self.Children.push(new landing.dataModels.Category(item.ID, item.categoryTypeId, item.Name, item.Description, item.ParentId, item.Children));
});
};
更新
私は私がアイテムを右クリックして[新しいウィンドウで開いたときに、それは仕事をし、ページを示しているが、そのないと言わざるを得ない直接の左クリックに取り組んでいます。
は、ユーザーがすでにオンになっているページに指示するあなたの '#'リンクですか?なぜなら、もし私が知っている限り、ブラウザはページリロードの代わりに*ハッシュ変更*イベントを引き起こすからです... – user3297291