【问题标题】:Calling angular function inside controller from Jquery/Javascript从 Jquery/Javascript 调用控制器内部的角度函数
【发布时间】:2017-03-14 20:05:03
【问题描述】:

我在 app.js 文件的控制器中有一个 submitDetails 函数,我想从 javascript 函数中调用它。但它的投掷错误 错误:提交详细信息未定义

clickApply: function(e) {
            
            console.log("hi&hello");
            
                    angular.element('#span').scope().submitDetails();
               
            this.hide();
            this.element.trigger('apply.daterangepicker', this);

        }

$rootScope.submitDetails=function()

【问题讨论】:

标签: javascript jquery angularjs html css


【解决方案1】:

这可以如下完成

JS

  var app = angular.module('myApp', []);

  app.controller('ctrl', function($scope) {
    $scope.sayHello = function() {
      $scope.msg = 'Hello';
    }
  });
  setTimeout(function() {
    var scope = angular.element(document.getElementById("btn")).scope();
    scope.$apply(function() {
      scope.sayHello();
    });
  }, 2000)

HTML

  <div ng-app='myApp'>
    <div ng-controller='ctrl' id='ctrl'>
      {{msg}}
      <button id='btn' ng-click='sayHello()'>
        Go
      </button>
    </div>

  </div>

希望这对你有帮助Jsfiddle link

【讨论】:

  • 你正在混合 vanilla js 和 angularjs。你正在从控制器操作 DOM
  • @Gonzalo.- 不,不,它只是从外部访问控制器方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-08-17
  • 1970-01-01
  • 1970-01-01
  • 2014-07-31
  • 1970-01-01
  • 2023-04-06
  • 1970-01-01
相关资源
最近更新 更多