javascript - AngularJS 单页应用程序 : Reference Error, ____ 未定义

标签 javascript jquery angularjs single-page-application referenceerror

在我的单页应用程序中,特别是在 javascript 文件中,我收到一个错误,指出 reroll 函数的未捕获引用。我不明白是什么导致了这个问题。我的js文件设置有误吗? 具体报错是,Reference Error, reroll is not defined。

HTML:

<body ng-app="app">
  <!-- == Main Controller for SPA == -->
  <div class="container-fluid bg-dark text-white" style="height:700px" ng-controller="mainCtrl">
    <!-- == App Title == -->
    <h2 class="display-2 title-container text-center">{{main.title}}</h2>
    <div class="row">
      <div class="container-fluid word-container text-center">
        <!-- == User Phrase Input == -->
        <input type="text" ng-model="word" placeholder="Please enter word">
        <br>
        <br>
      </div>
    </div>
    <div class="row">
      <div class="container-fluid anagram-container text-center">
        <!-- == Final anagram ==  -->
        Anagram: {{anagram}}
      </div>
    </div>
    <div class="row">
      <div class="container-fluid button-container text-center">
        <!-- Anagram "Reroll" Button -->
        <button type="button" ng-click="reroll(word)" class="btn btn-primary btn-large">Reroll</button>
        <!-- Anagram "Clear" Button -->
        <button type="button" class="btn btn-primary btn-large" ng-click="word=''">Clear</button>
      </div>
    </div>
  </div>
</body>

Javascript:

var app = angular.module("app", []);
app.controller('mainCtrl', function($scope) {
  $scope.main = {};
  $scope.main.title = "AnagramJS";
  $scope.reroll = function reroll(value) {
    // set anagram to randomize
    $scope.anagram = value.split('').sort(function() {
      return 0.5 - Math.random()
    }).join('');
  };
  $scope.$watch('word', (newVal, oldVal) => {
    if (newVal) {
      reroll(newVal);
    } else {
      // empty anagram if word is empty
      $scope.anagram = "";
    }
  });
  angular.extend($scope, {
    reroll
  });
});

最佳答案

reroll(newVal) 应该是 $scope.reroll(newVal);

同时删除

angular.extend($scope, {
    reroll
});

关于javascript - AngularJS 单页应用程序 : Reference Error, ____ 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46847915/

相关文章:

javascript - 编写一个函数来跟踪按钮点击

javascript - AngularJS 官方网站中理解双向数据绑定(bind)教程

javascript - Ajax 处理订单

javascript - vue 未在实例上定义,但在渲染期间被引用

javascript - 从头开始编写 getElementsByName

angularjs - ng-show当数组长度为零时

javascript - JS 将内联 css 添加到 html

javascript - Node JS 服务器不反射(reflect)服务器文件中的更改

javascript - 如何动态地将 jquery ui 事件处理程序添加到动态创建的按钮?

javascript - 如何检测用户退出页面?