【问题标题】:firing an event on load and if the textbox has value在加载时触发事件并且文本框是否具有值
【发布时间】:2016-10-14 00:10:10
【问题描述】:

我在页面/标签上有一个这样的文本框。

<input id="number" ng-model="model.number" ng-change="ChangeValue()"/> 

现在在值发生变化时,它会触发该函数。但是,在页面加载时,当文本框检索数据库中保存的值时,它不会触发此事件。我希望在页面加载时,如果 model.number 有一个值,即每当文本框有值时,触发事件。

如何做到这一点?

【问题讨论】:

  • 如果它只是 AngularJS 1.x,你能停止添加angular2 标签吗?谢谢。
  • @HarryNinh:当然,但我理解 Angular 2 人可能已经知道了这个问题的答案
  • @Learner 与可能知道的人无关...您只标记代码问题中的相关内容
  • 停止“如何实现这一目标”类型的问题。在这里,我们再次解决您的另一个代码问题,其中不包含minimal reproducible example。你现在应该知道,这个网站的想法是提供足够的代码来代表一个可重现的问题,而不是 sn-ps 和一般问题
  • 我不是无礼...我试图指出一个重复的模式,你没有在你的问题中提供足够的细节。您的问题历史充满了这种模式。学习没有错,但学会正确使用该网站,您将获得更好更快的响应……而且我们不必做太多的猜测来弄清楚它们。您需要帮助我们帮助您。就目前而言,您还没有提供足够的细节让人们正确地提供帮助

标签: javascript angularjs angularjs-directive angularjs-scope


【解决方案1】:

来自Angular documentation for ngChange

ngChange 表达式仅在输入值的更改导致新值提交给模型时才被评估。

如果模型以编程方式而不是通过更改输入值进行更改,则不会对其进行评估

根据您的描述,模型正在以编程方式进行更改。因此,ngChange 不会触发。如果您希望 ChangeValue 在页面加载时运行,您需要显式调用它。

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-23
    • 2013-03-13
    相关资源
    最近更新 更多