Javascript href中的角度绑定有效,但src绑定无效?
我是Angular的新手,我正试图通过他们自己网站上的教程来了解它 现在,我从这一特定步骤中了解到,我可以使用Javascript href中的角度绑定有效,但src绑定无效?,javascript,angularjs,Javascript,Angularjs,我是Angular的新手,我正试图通过他们自己网站上的教程来了解它 现在,我从这一特定步骤中了解到,我可以使用href=“#/phones/{{phone.id}}”和Angular在处理时绑定{phone.id},但为了绑定src属性,它需要ngsrc属性,否则浏览器将处理{expression}按字面意思标记 为什么src不适用于角度绑定,而href适用于角度绑定?为什么我们不需要ng href或类似的东西来让它工作呢?因为浏览器在呈现html页面时试图从src属性下载图像。因此,当页面第
href=“#/phones/{{phone.id}}”
和Angular在处理时绑定{phone.id}
,但为了绑定src
属性,它需要ngsrc
属性,否则浏览器将处理{expression}
按字面意思标记
为什么
src
不适用于角度绑定,而href
适用于角度绑定?为什么我们不需要ng href
或类似的东西来让它工作呢?因为浏览器在呈现html页面时试图从src
属性下载图像。因此,当页面第一次呈现时,浏览器将解析表达式作为图像源,并返回404
Angular对ng src
所做的是解析图像路径,并在计算表达式后更新src
属性
但是,如果锚内有href
,它只是字符串解析,浏览器不需要下载任何东西。计算表达式后,href
属性将得到更新,浏览器将获得更改
在href属性中使用像{{phone.id}}这样的角度标记将使
如果用户在Angular创建链接之前单击该链接,则指向错误的URL
用它的值替换{{phone.id}}标记的机会。直到棱角
替换标记链接将断开并且很可能
返回404错误
ngHref指令解决了这个问题
错误的书写方式:
<a href="#/phones/{{phone.id}}">Possibly broken phone</a>
<a ng-href="#/phones/{{phone.id}}">Working phone</a>
正确的书写方法:
<a href="#/phones/{{phone.id}}">Possibly broken phone</a>
<a ng-href="#/phones/{{phone.id}}">Working phone</a>
这是AngularJS文档中的直接内容
在您的示例中,img src必须使用ng src,因为图像会在页面开始加载时自动加载,并且angular没有机会替换它。
来自ngSrc文件:
在href属性中使用像{{hash}}这样的角度标记将使
如果用户在Angular创建链接之前单击该链接,则指向错误的URL
用其值替换{{hash}}标记的机会
事实上,使用href是不安全的方法
但src不等待任何东西,浏览器在渲染时获取src-并引发异常