角度属性/属性插值

时间:2018-05-01 16:13:56

标签: angular

我通常会这样做属性绑定:

declare @Count int,@Cur int
declare @Qry nvarchar(4000)
set @Cur=1

select @Count=max(t.count) from (

select proposal, count(lineitems) count from view_1 group by proposal) t

set @Qry=''

while @Cur<@Count+1
begin
set @Qry= @Qry + ',(select t.lineitems from (select ROW_NUMBER() over(order by lineitems) ROW_NUMBER, 
lineitems from view_1 where proposal = t1.proposal) t where ROW_NUMBER='+ cast(@Cur as varchar(10)) + ') as lineitem' + cast(@Cur as varchar(10))
set @Qry= @Qry + ',(select t.costs from (select ROW_NUMBER() over(order by lineitems) ROW_NUMBER, 
costs from view_1 where proposal = t1.proposal) t where ROW_NUMBER='+ cast(@Cur as varchar(10)) + ') as costs' + cast(@Cur as varchar(10))

set @Cur=@Cur+1
end

set @Qry='select distinct t1.grantname, t1.proposal ' + @Qry + ' from view_1 t1 order by 1, 2'

print @Qry
exec sp_executesql @Qry

(其中<a [href]="myHref">Link</a> 是我的Component类中的属性。)

但我也见过

myHref

在Angular网站上。据我所知。

但我也看到了这个:

<a href="{{myHref}}">Link</a>

(没有引号)。

它有效,但我无法在Angular网站上看到这个确切的语法。是允许的吗?

1 个答案:

答案 0 :(得分:2)

HTML属性可以在没有引号的情况下完成。我不认为这与角度有任何关系。

Spec

  

属性放在开始标记内,由名称和。组成   一个值,以=字符分隔。属性值可以保留   如果它不包含空格或任何“'= =&lt;或&gt;,则不带引号。   否则,必须使用单引号或双引号引用它。   如果,则可以完全省略该值以及=字符   值是空字符串。

<a href=http://google.com >Google</a>

来自Angular docs

  

插值是许多属性绑定的便捷替代方法   例。

     

将数据值渲染为字符串时,没有技术理由   喜欢一种形式到另一种形式。你倾向于倾向于可读性   赞成插值。您建议建立编码样式规则   并选择既符合规则又感觉最多的形式   对于手头的任务很自然。

     

将元素属性设置为非字符串数据值时,必须使用   使用属性绑定。