在Angular App

时间:2017-11-06 17:12:45

标签: javascript angularjs components ngonchanges

我的Angular应用程序中有一个带有$ onChanges函数的组件“MealItemCollection”。该组件由两个单独的父组件“Recipe”和“MealPlan”使用。两个父组件都以完全相同的方式传入“items”。

但是,当从MealPlan组件传递对项目的更改时,$ onChanges函数正常工作,但只有从配方组件传递对项目的更改时,它才能工作一次。也就是说,当我有0个项目并且添加1时,$ onChanges会触发,但是当我有1个项目并添加它时,$ onChanges不会触发。

在配方父组件中,我有一个带有items属性的“recipeModel”对象。当我添加一个项目时,它实际上会向recipeModel.items添加一个项目,由console.logs验证。但无论出于何种原因,对项目prop的更改都没有传递给MealItemCollection组件。

我试图使用$ doCheck来解决$ onChanges,但这不起作用,因为就像我说的那样,对项目prop的更改不会传递给MealItemCollection组件。

有没有人知道这里可能会发生什么?

1 个答案:

答案 0 :(得分:0)

出于某种原因,这段代码:

N=1000;
for i = 2:N,
    alpham[i] = 0.1 * (V[i-1]+40.) / (1. - exp(-(V[i-1]+40.)/10.));
end
更新了recipeModel之后

,这足以触发子组件中的onChanges。

有人知道这里发生了什么吗?