2015-03-31 17 views
1

在我看來,我有這樣的形式:

<form name="form1"> 
    <input name="msg" id="msg" ng-model="form_data.msg"> 
</form> 

在我的控制我的

var message= $scope.form1.msg; 

獲得輸入的內容然而,當我插入一些文字(如「test_abc」),並嘗試打印輸入內容(在控制器內),我得到一個對象而不是實際值。事實上

console.log(messageToSend); 

給出了這樣的輸出

[DEBUG]消息>>:[對象的對象] controllers.js:646對象{$ viewValue: 「test_abc」,$ modelValue: 「test_abc」 $$ rawModelValue: 「test_abc」,$驗證:對象,$ asyncValidators:對象...}

當然我可以得到$ modelValue,但我注意到,(有時)我可以與模型值工作(只需使用$ scope.modelVarName)而不是打印它。 對不起,如果這很模糊,但我現在找不到具體的例子。我想知道:有沒有一種方法(除了使用。$ modelValue屬性)檢索(在控制器內)定義的模型變量(在視圖中的形式)?

+2

你爲什麼不使用'$ scope.form_data.msg'從輸入值?或者,也許這個問題對我來說不是很清楚。 – valverde93 2015-03-31 15:08:23

+0

你可能是對的。我今晚會檢查一下。我不知道我是否粘貼了錯誤的代碼,或者在代碼 – dragonmnl 2015-03-31 16:08:05

回答

1

<input name=msg ng-model="form_data.msg">使用此標記輸入的值將在控制器範圍的form_data.msg屬性中更新。 [form_data是一個對象]。

Angular將更新控制器範圍的form1.msg中輸入字段的驗證相關信息。這裏form1是表單的名稱,而msg是該消息的名稱。 這不是實際的型號。您的實際型號是form_data.msgform1.msg將包含驗證相關信息。

如果你要打印的模型中使用form_data.msgform1.msg

+0

中發生了錯誤,我可能確實犯了這個錯誤。今晚我會試試這個。 – dragonmnl 2015-03-31 16:13:22

+0

你可以請澄清驗證的事情嗎?我沒有得到在ng-model指令中使用form.something和使用$ error顯示錯誤(我的確使用)之間的聯繫 – dragonmnl 2015-03-31 16:15:12

+0

要顯示驗證結果的錯誤消息,請使用$ scope的詳細信息。 _formName _._ inputName.'對象。要使用輸入元素的值,可以使用'$ socpe._modelVar_',其中'_modelVar_'是'ng-model'屬性值。 – 2015-03-31 16:19:46

0

我用你的代碼中的jsfiddle和它的工作,一點點的變化,我只是定義了應用,並使用

{{form1.msg}} 

打印值。

這裏的的jsfiddle:

http://jsfiddle.net/diegounanue/5bbkmk3m/

+0

我使用的是Angular Material框架,據我所知,它通過模型處理標籤,但不允許在輸入中使用

相關問題