Javascript 角度指示双向装订&;刷新

Javascript 角度指示双向装订&;刷新,javascript,angularjs,binding,isolate-scope,Javascript,Angularjs,Binding,Isolate Scope,假设您有一个页面,其中有一条客户搜索指令(第1条指令)。 您进行搜索,然后从web服务器返回客户列表 现在,在上面的指令中,您有了第二个指令,我们称之为customerRes,它为客户显示一些信息(这就像一个在站点中的许多地方重复使用的小部件)。在第二条指令的隔离范围内,我有一个名为results的属性,我根据返回的结果绑定该属性,例如 第1条指令的声明如下 <customer-res results="webserverResult"> 现在,每当用户单击parent指令时,它都

假设您有一个页面,其中有一条客户搜索指令(第1条指令)。 您进行搜索,然后从web服务器返回客户列表

现在,在上面的指令中,您有了第二个指令,我们称之为
customerRes
,它为客户显示一些信息(这就像一个在站点中的许多地方重复使用的小部件)。在第二条指令的隔离范围内,我有一个名为
results
的属性,我根据返回的结果绑定该属性,例如

第1条指令的声明如下

<customer-res results="webserverResult">
现在,每当用户单击parent指令时,它都会向web服务器发出请求,可能会得到不同的结果

问题是:angular是否真的监视自己绑定到隔离作用域的值在指令之外发生了更改,或者我需要做些什么来确保它无效


此外,即使你在结果返回之前加载了页面,一旦结果返回,他们不应该更新页面元素吗?

一个很酷的方法是你自己去发现。别误会我的意思,但就我个人而言,当我踏上人生的第一步时,我就这么做了。有助于更深入地理解框架,而不是阅读文档,更容易忘记

您可以随时添加

scope.$watch('myVariable', function(value) { 
  console.log('myVariable changed to:', value);
})
并查看其值何时更改

双向bindig就像一个魔咒,即使在重新加载整页时也是如此。如果没有指令的JS代码,就无法更精确地描述。但是当使用隔离作用域时,指令可能需要

scope: {
   myVariable: '='
}

但请记住,当重新加载页面时,angular将从零重新启动。对于每个指令来说,其链接函数只调用一次,其他许多函数都会被调用。关键字是angular的
摘要周期


希望我能帮助你回答这个问题(更宽泛一点)。

我建议你发布指令的代码。因此,即使我将(通过http服务)检索指令上一级的实际结果数组,双向绑定仍然可以工作,而不需要使用$apply或类似的东西,对吗?我现在不是@work,问题是我遇到的块有很多自定义依赖项。我将不得不写一些新的东西(可能明天会做并更新thje帖子)。哦,顺便说一下,谢谢你的支持。只要变量保持相同的引用,大体上你是正确的。Angular有很多地方,它会自动应用范围(摘要循环的触发器)。e、 g.
ng单击
ng模型
等。参见本文:。如果你一有代表就投票给我,我会很高兴。事实证明我的答案是正确的,但如果你将某些东西绑定到“结果”上,而不是u型输入“resluts”,那就不是框架的错。谢谢大家的帮助,非常感谢,也谢谢你们的链接。
scope: {
   myVariable: '='
}
<my-directive my-variable="results.entries"></my-directive>