直接将值设置为$scope和通过jquery值之间有什么区别?
在这里,我创建了示例文本框值绑定,它工作得很好。如果我直接在文本框0,1,2,3中输入值,它将更新值。如果单击函数中的“我更新了文本框模型”,则创建了一个提交按钮 像这样直接将值设置为$scope和通过jquery值之间有什么区别?,jquery,angularjs,angularjs-scope,Jquery,Angularjs,Angularjs Scope,在这里,我创建了示例文本框值绑定,它工作得很好。如果我直接在文本框0,1,2,3中输入值,它将更新值。如果单击函数中的“我更新了文本框模型”,则创建了一个提交按钮 像这样 $scope.testing=function() { $scope.selected = 0; } 那次很好 但通过jquery值尝试了相同的方法,但那个次失败了,我想知道它无法更新的原因。模型中的文本框值更改但不更新 $scope.testing=function() { $('#tabId').val(
$scope.testing=function() {
$scope.selected = 0;
}
那次很好
但通过jquery值尝试了相同的方法,但那个次失败了,我想知道它无法更新的原因。模型中的文本框值更改但不更新
$scope.testing=function() {
$('#tabId').val(3);
}
问题是angular不知道jquery插件所做的更新,因此如果您使用jquery更新任何值,并且还希望更新模型,则必须为此添加代码。这不是自动的 在您的情况下,您必须修改
$scope.testing=function()
{
$('#tabId').val(3);
}
与
类似的问题也被问到了
您也可以参考此链接
希望这对您有所帮助。为什么要从
jQuery
更新它?它失败是因为您正在更新值属性&而不是绑定到该DOM的范围变量。。虽然您可以通过使用$scope.testing=function(){$('#tabId').scope().selected=0;}
来修复它,但也可以将jQuery移到angular上方,因为它不在angular的范围内,并且angular不会得到通知,为此,您必须使用$apply
方法运行摘要循环。
$scope.testing=function()
{
$('#tabId').val(3);
$scope.selected = 3;
}