Javascript AngularJS将window.location发送到函数或指令

Javascript AngularJS将window.location发送到函数或指令,javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,我试图创建一个“后退”按钮作为函数或指令。单击它后,它将调用一个函数,该函数在将用户重定向到url之前有几件事要做。 通常,在纯JS中,我会有一个带有onclick函数的简单div,我会将URL传递给它,然后该函数会执行它的操作,然后生成一个window.location.href=URL,这样就可以了。 在angular中,我试图发送的URL部分是硬编码的,部分来自ng模型:URL=“#/clients/editer/{{client.\u id}}” 当尝试使用一个简单的函数时,我会将它作为

我试图创建一个“后退”按钮作为函数或指令。单击它后,它将调用一个函数,该函数在将用户重定向到url之前有几件事要做。 通常,在纯JS中,我会有一个带有onclick函数的简单div,我会将URL传递给它,然后该函数会执行它的操作,然后生成一个window.location.href=URL,这样就可以了。 在angular中,我试图发送的URL部分是硬编码的,部分来自ng模型:
URL=“#/clients/editer/{{client.\u id}}”

当尝试使用一个简单的函数时,我会将它作为字符串传递给它,我的函数会将client.id作为字符串发送,尽管firefox的HTML检查器说它可以。但是如果我把函数得到的URL记录在console.log中,它会说
“#/clients/editer/{{client._id}}”
而不是“#/clients/editer/56684b4fe7b59ff020b85590”

当尝试使用指令而不是函数时,作为所有这些的新手,我不知道应该如何将URL传递给指令。由于URL可以从一个模块到另一个模块(从
“#/clients/editer/{{client.\u id}}}}”
“#/materials/editer/{materials.\u id}}}”
,因此我需要将解码后的URL直接传递给指令,该指令随后将执行onclick函数


希望有人能帮助我!

我做了简单的测试代码

js

Html

链接
结果:#/clients/editer/{{client._id}

<div ng-click="somefunction('#/clients/editer/'+ client._id)">link</div>
链接
结果:#/clients/editer/9


这就是你想要达到的结果吗?

请发布你所有相关的代码Hi-Imants,是的,它确实起作用,我不知道为什么我的代码不起作用,因为它与你的代码99%相同…似乎只需稍加修改就可以了thx。现在,如果我想使用这种行为构建一个指令怎么办?@BlackPage关于它为什么不起作用,angular认为字符串只是一个字符串,它没有被呈现。关于指令,您希望该指令使用字符串或其他东西给出的地址?@BlackPage如果这是正确答案,请将其标记为答案。该指令必须完全得到您建议的
'.\clients/editer/'+client.\u id
<div ng-click="somefunction('#/clients/editer/{{client._id}}')">link</div>
<div ng-click="somefunction('#/clients/editer/'+ client._id)">link</div>