Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.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 角度数据绑定-手动设置模型值_Javascript_Angularjs - Fatal编程技术网

Javascript 角度数据绑定-手动设置模型值

Javascript 角度数据绑定-手动设置模型值,javascript,angularjs,Javascript,Angularjs,我正在运行angular.js 1.4,我有如下数据绑定输入: <input ng-model="name"> angular.element(document.getElementById('myTextBox')).scope().name = 'someNewValue'; 有没有一种方法可以在不输入的情况下手动设置更改值?类似于调用angular对象,在范围中找到“name”,然后设置它的值 编辑 我需要从chrome扩展的contentscript执行此操作,这意味

我正在运行angular.js 1.4,我有如下数据绑定输入:

<input ng-model="name">
angular.element(document.getElementById('myTextBox')).scope().name = 'someNewValue';

有没有一种方法可以在不输入的情况下手动设置更改值?类似于调用angular对象,在范围中找到“name”,然后设置它的值

编辑


我需要从chrome扩展的contentscript执行此操作,这意味着我无法更改源代码。

您可以通过调用元素本身的
scope()
来访问元素的范围。因此,为了简单起见,假设您的textbox的id为
myTextBox
,并且
name
是范围属性。可以按如下方式设置模型值:

<input ng-model="name">
angular.element(document.getElementById('myTextBox')).scope().name = 'someNewValue';

你能进入这个范围吗
$scope[“name”]
应该允许您访问该值,您可以设置它。正如tekkavi在回答中提到的,您必须触发摘要循环才能真正看到结果,例如,通过触发
元素上的
输入事件
。这会起作用,但我需要以某种方式运行$apply。您知道具体操作方法吗?您可以使用
scope()
访问作用域,因此只需在其上调用
$apply()