我一直在使用ember.js中的新查询参数功能,非常喜欢它。我对这个余'“观察”如何使用它感到困惑。它可能与this有关,但我认为我的问题也有所不同。
在this jsbin中,我可以使用下拉菜单更改图表类型,更改的图表类型将显示在URL中。一切正常,直到我为URL的参数值键入其他文本,例如“xyz”。根据我的代码,应用程序应该忽略不正确的图表类型字符串。在控制台中,我看到'observes'函数运行三次,查询参数值更改为'undefined'。有任何线索可能会发生这种情况吗?
布赖恩
答案 0 :(得分:4)
罪魁祸首:
{{view Ember.Select viewName="select"
content=chartTypes
prompt="Type:"
value=selectedChartType}}
原因是它是双向绑定。对选择的Ant更改将反映您的控制器/模型(取决于您将其绑定到哪个)。
此选定案例中发生了什么:
QWERTY
)QWERTY
,但失败(QWERTY
不在Ember.Select中)QWERTY
。选择它设置为undefined
undefined
会反映在控制器/网址undefine
转换为"undefine"
"undefined"
因此,你有3次迭代: