Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将值从Jquery传递到angular Js?_Javascript_Jquery_Angularjs - Fatal编程技术网

Javascript 如何将值从Jquery传递到angular Js?

Javascript 如何将值从Jquery传递到angular Js?,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,我正在努力将一个值从Jquery传递到angular js。但我发现在angular js中没有定义。 我的代码: HTML : <button onclick="change('5')"></button> <input type="hidden" ng-model="data" id="one" /> <button ng-click="test(data)">Test</button> JQuery: function cha

我正在努力将一个值从Jquery传递到angular js。但我发现在angular js中没有定义。 我的代码:

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)
}
HTML:
试验
JQuery:
功能更改(数据)
{
$(“#一”).val(数据).change();
}
角Js:
$scope.test=函数(数据)
{
console.log(数据)
}

但我没有定义。我怎样才能做到这一点呢?

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

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

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

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


*如果您真的需要:您需要让Angular知道您已经使用手动
$(“#one”).val(data.change())从摘要周期之外更改了模型;angular.element($(“#one”).scope().$apply()

使用
ng单击
就像,
实际上jquery lite已经内置在angular中了。。。所以,如果您使用angular,请尝试以angular方式执行所有操作,我将使用angular.element($(“#one”)).scope().$apply()?在Jquery或Js中
$scope.change = function(x) {
    $scope.data = x;
};