javascript - Angular 范围未定义

标签 javascript angularjs

我有一个 Angular Controller ,我正在将其设置为使用“controller as”语法:

angular.module('app', []).controller('ctrl1', ctrl1);

ctrl1.$inject = ['$http', '$compile'];

function ctrl1($http, $compile) {
    function someHttpGet() {
        //get data
        var compiled = $compile(data)($scope);
    }
}

我什至尝试将编译后的数据绑定(bind)到作用域对象的原因是因为我看到了一个说要这样做的答案,但这对我来说没有意义,因为在我看来,我正在使用 Controller 作为语法.

我怎样才能让它正常工作?

最佳答案

您没有在 Controller 中注入(inject) $scope:

ctrl1.$inject = ['$http', '$compile', '$scope'];//like others $scope needs to be injected
function ctrl1($http, $compile, $scope) {
 function someHttpGet() {
  //get data
  var compiled = $compile(data)($scope);
 }
}

因为 $scope 不会自动注入(inject) Controller 中。

关于javascript - Angular 范围未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31823204/

相关文章:

javascript - 即使单击所选选项也可更改选项的事件

javascript - 如何通过AngularJS中的外部指令显示ng-repeat中隐藏的项目?

属性访问的 Javascript 性能 : undefined vs false

javascript - 有没有更好的方法来对对象数组进行排序以动态生成按值分隔的 HTML 元素?

javascript - 使用 <script> 标签提供 .cfm 文件

javascript - Node js : save entered line breaks to mysql?

javascript - Angular JS 过滤器 ng-repeat 带字段和下拉列表

javascript - 是否可以在 AngularJS 中使用 ng-model 预填写表单?

javascript - AngularJS 并过滤一些特定的字段

angularjs - Angular $http.post 的 CORS 问题 - 成功的请求导致状态为 0 的错误