ui-router を使用して状態を変更し、GUID パラメーターをコントローラーに渡そうとしています。私は剣道(異なる構文)を使用してこれを機能させているので、私が何を目指しているかを知っています。私は一生、取引が何であるかを理解することはできません。私は広範囲に検索しましたが、ui-sref の正しい構文があると信じています。ここにあります:
<a ui-sref="clientEdit({ clientId: '{{vm.clientModel.id}}' })">Edit Link</a>
レンダリングされたビューでこの出力を生成します (id がないことに注意してください)。
<a ui-sref="clientEdit({ clientId: 'bfd50b6c-6542-48c5-adf7-8c1a21caf421' })" href="#/clientEdit/">Edit Link</a>
これが私の状態です:
.state("clientEdit", {
url: "/clientEdit/:clientId",
templateUrl: "/CompanyDashboard/ClientsCrud",
controller: "DashboardClientsCtl",
controllerAs: "vm"
})
ID を ui-sref にハードコードすると、期待どおりに機能し、タグの正しい href が生成されます。このような:
<a ui-sref="clientEdit({clientId:'bfd50b6c-6542-48c5-adf7-8c1a21caf421'})">Hard code Edit Link</a>
ハードコーディングされた ID タグは、レンダリングされたビューで次の出力を生成します (まさに私が期待したとおりです)。
<a ui-sref="clientEdit({clientId:'bfd50b6c-6542-48c5-adf7-8c1a21caf421'})" href="#/clientEdit/bfd50b6c-6542-48c5-adf7-8c1a21caf421">Hard code Edit Link</a>
だから、私の質問は次のとおりです。ここで何か不足していますか? 私はすでに別のルートの剣道テンプレートを使用してこれを成功させているので、これがうまくいくはずだと本当に信じています.
参考までに、実際に動作する剣道テンプレート コードを次に示します。
template: "<a ui-sref='clientDetails({clientId:\"#=id#\"})'>#=customerNumber#</a>"
剣道の例のように引用符を double に変更して、引用符を削除し、Id 式から {{ }} を削除しようとしました。喜びはありません。
助けてくれてありがとう。