角度控制器如何在没有模型或Jquery的情况下访问HTML?

时间:2016-06-17 01:44:21

标签: jquery angularjs model-view-controller data-binding angularjs-scope

我正在处理一些遗留代码,并对它的设置方式感到困惑。当使用jquery或带有角度的ng模型时,我只知道在HTML和JS之间使用类,id,元素等进行通信。

但是,在这段代码中,有一个控制器在页面加载时立即调用服务:

//someController.js
someService.getStuff().then(function (result) {
            $scope.stuffToDisplay= result;
        });

//someService.js
var getStuff = function () {
            return $http.get('http://www.someapi.com/?userInput=' + userInput).then(function (result) {// where did the variable "userInput" come from?
                return result.data;
            });
        }

如上所示。请注意,在getStuff的定义中,没有接受会考虑userInput的参数。此外,“someService.js”中没有其他地方定义的变量称为userInput

然而,在HTML中有一个输入字段,id='userInput'ng-model='userInput'。话虽如此,在名为userInput的控制器中的任何地方都没有范围变量,当我从输入元素中取出模型时,没有任何中断。但是,当我删除id='userInput'时,我会得到

  

ReferenceError:未定义userInput

当我替换id='userInput'时,在getStuff上设置断点,并将userInput记录到控制台,它会打印出整个HTML输入元素!我错过了什么?我不知道这是可能的。它显然是,但如何??

0 个答案:

没有答案