2015-05-22 19 views
1

我運行angular.js 1.4和我有數據綁定這樣的輸入:角數據綁定 - 模型的設定值手動

<input ng-model="name"> 

有沒有辦法如何手動設置變化值,沒有輸入輸入?就像調用角度對象一樣,在範圍中找到'名稱',然後設置它的值。

編輯!

我需要從chrome擴展的contentscript中做到這一點,這意味着我無法更改源代碼。

+0

您可以訪問範圍嗎? '$ scope [「name」]'應該給你訪問該值,你可以設置它。正如tekkavi的回答中所提到的,您必須觸發摘要循環才能真正看到結果,例如通過觸發''元素上的'輸入事件'。 – lexith

回答

0

您可以通過調用元素本身的scope()來訪問元素的作用域。所以,爲了簡單起見,假設您的文本框的ID爲myTextBoxname是一個範圍屬性。您可以像這樣設置模型值:

angular.element(document.getElementById('myTextBox')).scope().name = 'someNewValue'; 
+0

這會工作,但我需要以某種方式運行$應用程序。你知道如何? –

+0

您可以使用'scope()'訪問範圍,因此只需調用'$ apply()'就可以了。 – ach