我正在使用angular-nvd3-directives饼图。 我正在使用siteId(作为x轴)和usersCount(作为y轴)的值列表设置饼图。 应用程序通常从列表中的一组(siteId,usersCount)对象开始。 该应用程序允许用户更改网站集列表 - (siteId,user ...
提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供 中文繁体 英文版本 中英对照 版本,有任何建议请联系yoyou2525@163.com。
假设您有一个页面,其中有一个用于客户搜索的指令(第一指令)。 您进行搜索,然后从Web服务器获取客户列表。
现在,在上面的指令中,您有了第二个指令,我们将其称为customerRes
,它为customerRes
显示一些信息(这就像在站点中许多地方重复使用的小窗口小部件一样)。 在第二个指令的隔离范围内,我有一个称为results
的属性,我将它与返回的结果绑定在一起,例如
第一个指令的声明如
<customer-res results="webserverResult">
在customerRes
指令中,我有一个类似
<div ng-repeat="x in results>
{{name}} {{bla}} ... bla bla
</div>
现在,每次用户单击父指令时,它将向Web服务器发出请求,并可能返回不同的结果。
问题:角度实际上是在监视自身,即与隔离范围绑定的值在指令之外发生了变化,还是我需要做一些事情以确保其无效?
此外,即使您在结果返回之前加载页面,但一旦返回结果,它们是否不应该更新页面元素?
一种很酷的方法是您自己找到自己的地方。 别误会我的意思,但是我个人在迈出第一步时就做到了。 帮助您更深入地了解框架,而不是阅读文档并更容易忘记。
您可以随时添加
scope.$watch('myVariable', function(value) {
console.log('myVariable changed to:', value);
})
转到您的指令,并查看其值何时更改。
即使在整页重新加载时,双向bindig也像超级按钮一样工作。 没有指令的JS代码,就无法更精确。 但是,当使用隔离范围时,可能需要使用指令
scope: {
myVariable: '='
}
<my-directive my-variable="results.entries"></my-directive>
但请记住,重新加载页面时,角度从零重新开始。 对于每个指令而言,其链接功能在幕后都会被调用一次。 关键字是angular的digest cycle
。
希望我可以帮助您(稍微广泛一点)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.