繁体   English   中英

如何将值从Jquery传递到角度Js?

[英]How to pass a value from Jquery to angular Js?

我正在努力将Jquery的值传递给angular js。 但是我在angular js中发现了undefined。 我的代码:

HTML :
<button onclick="change('5')"></button>
<input type="hidden" ng-model="data" id="one" />

<button ng-click="test(data)">Test</button>

JQuery:
function change(data)
{
  $("#one").val(data).change();
}

Angular Js :

$scope.test= function(data)
{
   console.log(data)
}

但是我不确定。 我怎样才能做到这一点 ?

您可以肯定地做到这一点*,但是您可能不应该这样做,因为jQuery和Angular的这种混合将很快变得难以维护。 这不是一个很好的设计。

相反,使用角度指令和方法,在您的情况下很简单:

<button ng-click="change('5')"></button>
<input type="hidden" ng-model="data" id="one" />

<button ng-click="test(data)">Test</button>

并在Angular控制器中:

$scope.change = function(x) {
    $scope.data = x;
};


*如果您确实想要它:您需要让Angular知道您已经在摘要周期之外使用手动$("#one").val(data).change(); angular.element($("#one")).scope().$apply();更改了模型$("#one").val(data).change(); angular.element($("#one")).scope().$apply(); $("#one").val(data).change(); angular.element($("#one")).scope().$apply();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM