我有一个函数可以生成一个URL。我想在ng-href
之内使用它。这很好,直到我不得不将该方法移到$scope
之外。这不再起作用。在角度范围外调用函数的正确方法是什么?
请参见本plunker例如:
编辑新Plunker例如与评论:
https://plnkr.co/edit/z4txeXD1J2PJCfcBNw5C?p=preview
旧链接:
https://plnkr.co/edit/qb9w6A5nCNet2MCynnGH?p=preview
我可以得到它与一些黑客工作,比如将该方法放在根作用域中(如示例中那样),但这实际上很笨拙。有没有更好的方法将“导入”方法纳入范围?
你说的“我不得不搬到方法'$ scope'之外的意思这感觉就像一个XY问题,也不您的问题或你真的提供的链接的代码说明你正在尝试做的;他们会告诉你为一个未确定的问题尝试一些可能的“修复”,并且没有任何修复方法是推荐的方法来处理角。 – Claies
你的plunk引用了一个script.js文件,你没有包含在你的plunk中 – jbrown
@Claies hm ...抱歉,我不清楚 在plnkr链接中,'$ scope.getUrlInScope'曾经是我的方法,它的工作原理现在我想把这个方法移到控制器的外部(如我想要的将它移动到'getUrlGlobalScope')。我的第二个''标签d证明一旦我将该函数移出,只需更改函数名称(如预期的那样),就不会再使用ng-href了。第三和第四'''是我发现的方法,但我觉得他们不理想,这就是我问这个问题的原因。 – user3759055