Angular表达式未返回任何内容

Nothing returned by Angular expression

本文关键字:任何内 返回 表达式 Angular      更新时间:2023-09-26

我正在制作一个随机数生成器web应用程序,为您提供随机数。但显然有些地方出了问题。我的代码的相关部分如下:

.controller('randController', function() {
      this.minimum = null;
      this.maksimum = null;
      this.desAntall = null;
      this.visDes = false;
      this.setDes = function (x) {
          this.visDes = x;
      };
      this.checkDes = function (x) {
          return this.visDes === x;
      };
      this.tilfeldig = function () {
          return (Math.round((Math.random()*this.maksimum + this.minimum)*this.desAntall)/this.desAntall);
      };
  })
<div class="content kalkulator" id="expocalc">
      <section ng-controller="randController as rand">
          <ul class="nav nav-pills">
              <li>
                  <a href="" ng-click="rand.setDes(false)" ng-class="{active:rand.visDes===false}">Hele tall</a>
              </li>
              <li>
                  <a href="" ng-click="rand.setDes(true)" ng-class="{active:rand.visDes===true}">Desimaltall</a>
              </li>
          </ul>
          <input ng-model="rand.minimum" type="number" placeholder="Minste tall"><br>
          <div class="tiny"></div>
          <input ng-model="rand.maksimum" type="number" placeholder="Største tall"><br>
          <div class="tiny"></div>
          <input ng-show="rand.checkDes(true)" ng-model="rand.desAntall" type="number" placeholder="Antall desimaler"><br>
          <pre>Tilfeldig tall = {{rand.tilfeldig}}</pre>
      </section>
        <a name="help"></a>
    </div>

我真的很难理解出了什么问题。如果有人能告诉我,我将不胜感激。

像这样尝试

{{ rand.tilfeldig() }}

而不是

{{ rand.tilfeldig }}

您正试图(Anik Islam Abhi的回答解释了如何使其工作)使用一个表达式,该表达式为相同的输入/状态返回不同的值(因为您的Math.random()调用),并将最大限度地增加摘要迭代(只需在做出Anik Islam-Abhi建议的更改后查看控制台日志)。

执行所需操作的正确方法是,使用一个调用tilfeldig函数的按钮将随机值设置为范围中的变量,或者在tilfeldig函数中,检查minimummaksimumdesAntall的当前值,如果值没有更改,则返回以前计算的结果。