加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – $location.path在Angular指令中不起作用

发布时间:2020-12-17 08:52:04 所属栏目:安全 来源:网络整理
导读:我正在尝试从AngularJS指令中更新$location.path.它没有按照我的预期工作,即更新浏览器窗口中显示的URL并在我的页面上显示不同的内容.我的函数肯定会被调用正确的值,如控制台中所示.我认为$location.path可能会产生一些影响,因为当我点击链接时,会调用一些在
我正在尝试从AngularJS指令中更新$location.path.它没有按照我的预期工作,即更新浏览器窗口中显示的URL并在我的页面上显示不同的内容.我的函数肯定会被调用正确的值,如控制台中所示.我认为$location.path可能会产生一些影响,因为当我点击链接时,会调用一些在新页面上调用的附加函数,只会显示新页面.当我在控制器中使用$location.path时,它按预期工作,但不在我的指令中.

这是我的指令的HTML:

<div detail-link="/comments?post={{post.postId}}" ng-click="clickDetailLink()"></div>

这是指令的定义(在CoffeeScript中):

directives.directive 'detailLink',['$location',($location) ->
    return (scope,element,attrs) ->
        scope.clickDetailLink = ->
            console.log "loading " + scope.detailLinkHref
            $location.path scope.detailLinkHref

        attrs.$observe 'detailLink',(value) ->
            console.log "set detail link to " + value
            scope.detailLinkHref = value
]

我知道这里发生了什么……我的$routeProvider设置为处理/注释但在这里我试图将一个查询字符串附加到路由.如果我使用常规< a href =“#/ comments?post = {{post.postId}}”>,这样可以正常工作,但不知何故通过$location.path设置相同的路由是行不通的.这与代码是否在控制器或指令中无关.

尝试范围.$apply? (注意$)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读