Javascript 角度数据绑定-手动设置模型值
我正在运行angular.js 1.4,我有如下数据绑定输入: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执行此操作,这意味
<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()
。