链接执行两次 - 第一次没有变量初始化,第二次intiliazed

时间:2015-04-20 12:31:26

标签: angularjs angularjs-routing angular-routing

更新

看起来控制器本身只执行一次,但是,以下网址执行两次!

<a class="th" style="width: 64px;" href="#details/{{user.id}}">
    <img src="http://localhost:8080/project/show/{{user.id}}.png"/>
</a>

Apparantely,我的终端控制器(Spring)首先将{{user.id}}视为参数,然后是实际值。为什么要执行两次?

2 个答案:

答案 0 :(得分:4)

尝试将链接href更改为ng-href,并将img src更改为ng-src

来自AngularJS关于ngHref

的文件
  

在href属性中使用{{hash}}之类的AngularJS标记会使用户在AngularJS有机会用{{hash}}标记替换其值之前单击它时,链接将转到错误的URL。在AngularJS替换标记之前,链接将被破坏并且很可能返回404错误。 ngHref指令解决了这个问题。

和约ngSrc

  

在src属性中使用{{hash}}之类的AngularJS标记无法正常工作:浏览器将使用文字文本{{hash}}从URL中获取,直到AngularJS替换{{hash}}中的表达式。 ngSrc指令解决了这个问题。

答案 1 :(得分:0)

首先,我建议您使用ui-router,这比标准ng-router更强大。

然后,对于链接,使用ng-href的{​​{1}}脚背。

要确保仅在href正确绑定时加载href链接,否则您可能会使用以下链接:model或甚至最差href="#details/" < / p>