You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AngularJS如何向指令属性传递参数?

Angular指令中传递Scope参数到模板属性的解决方案

嘿,我来帮你搞定这个问题~你现在的核心问题是模板里直接写了静态属性值,没有和指令scope里的变量做绑定,所以Angular没法把你传递的appSearchText和appSearchCommand对应到title和ui-sref属性上。

正确的模板修改方式

你只需要把模板里的属性值改成Angular的插值表达式(用{{ }}包裹变量),就能把scope里的参数绑定到对应的属性上。修改后的模板代码如下:

<a title="{{appSearchText}}" ui-sref="{{appSearchCommand}}">
    <i class="fa fa-search"></i>
</a>

补充说明

  1. 你的指令scope定义用@是完全正确的,@专门用来绑定父作用域传递的字符串类型值,刚好匹配你要传递的title文本和路由状态名称。
  2. 使用指令时,要记得用短横线分隔的属性名传递参数(Angular会自动转换成驼峰式对应到scope里的变量),示例用法如下:
    <div app-search app-search-text="点击触发搜索" app-search-command="search.results"></div>
    
  3. 如果后续你需要传递动态表达式(比如appSearchCommand是一个变量而非固定字符串),可以把scope里的@改成=,不过目前你的场景用@就足够啦。

内容的提问来源于stack exchange,提问作者Claudio Moraes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:17:35