Angularjs 是否可以在不使用Angular中的指令的情况下设置ng include的范围?
是否可以在不使用指令或Angularjs 是否可以在不使用Angular中的指令的情况下设置ng include的范围?,angularjs,Angularjs,是否可以在不使用指令或ng repeat的情况下在ng include上设置范围 示例(对于$scope:{startEvent:{…},recentEvents:[{…},{…},…},]}) 开始 最近的 {{event.sendDate} {{event.description} 我想先将scopeevent属性设置为startEvent-ng repeat为我使用recentEvents,但在单个项目上使用ng repeat将是一种攻击 显然,我可以发出指令,但目前整个过程只是一个
ng repeat
的情况下在ng include
上设置范围
示例(对于$scope:{startEvent:{…},recentEvents:[{…},{…},…},]}
)
开始
最近的
{{event.sendDate}
{{event.description}
我想先将scopeevent
属性设置为startEvent
-ng repeat
为我使用recentEvents
,但在单个项目上使用ng repeat
将是一种攻击
显然,我可以发出指令,但目前整个过程只是一个小文件。有了指令和指令模板,它将扩展到三个,所有这些都是为了重用一个非常小的片段
请注意,
ng init
不起作用,因为我认为它是在不同的时间执行的。我已经看到了用于此目的的ng repeat=“event in[startEvent]”
方法。它还创建了一个子作用域
是的,这是一个黑客:)
我为自己创建了一个指令,该指令为应用它的元素创建了一个独立的范围,特别是对于ng include
不需要特殊指令的情况
请随意重复使用:我已经看到了用于此目的的
ng repeat=“event in[startEvent]”
方法。它还创建了一个子作用域。是的,这是一个黑客行为:)我为自己创建了一个指令,为应用它的元素创建了一个独立的作用域,特别是对于ng include
不需要特殊指令的情况。@NewDev是的,如果我必须创建一个指令,那么至少为小型include创建一个可重用的指令似乎是合理的。你的代码是开源的吗?当然,让我把它作为一个答案;)谢谢当我尝试在Angular 1.1.5中使用内联对象时,遇到了一些问题(达到了10$digest()迭代)。所以我做了一些不同的事情:--你看到它有什么问题吗?嗯。。。我想说它破坏了双向绑定,但我的破坏了父值,所以,看起来它是固定的。我修复了我以前在版本中破坏的内容-它允许双向绑定。嗯,因此,如果顶级值已更改,则此解决方案不会更新,除非更改发生在子对象上(例如,$timeout中更新prop.name
不会更新孤立作用域中的名称)。因此,基本上如果以后设置了startEvent
,它将不会应用于子范围。但是我不认为我在问题中需要它,所以我只接受它)一个建议——如果你在答案中添加你的指令代码,它将对未来的读者有用,因为不能保证plunker链接在未来2年仍然有效。
<h4>Start</h4>
<!-- how do I make event = startEvent here? -->
<ng-include src="'event-template'"></ng-include>
<h4>Recent</h4>
<ol>
<li data-ng-repeat="event in recentEvents">
<ng-include src="'event-template'"></ng-include>
</li>
</ol>
<script id="event-template" type="text/ng-template">
<time datetime="{{event.sendDate}}">{{event.sendDate}}</time>
<span>{{event.description}}</span>
</script>