我正在嘗試學習更多關於AngularJS的指令,並遇到這種情況。我想製作一個可以重複使用的是 - 否的無線電控制。我已經獲得了大部分的方式 - 我認爲 - 但需要朝正確的方向推進。AngularJS指令 - 動態輸入名稱綁定
我有這樣的指令:
app
.directive('yesno', function() {
'use strict';
var config;
config = {
replace: true,
require: 'ngModel',
restrict: 'E',
scope: {
field: '=',
model: '='
},
templateUrl: 'views/yesno.html'
};
return config;
});
...和模板看起來是這樣的:
<fieldset class="yesno">
<input id="{{field}}-yes" name="{{field}}" ng-model="model" type="radio" value="yes" />
<label for="{{field}}-yes">Yes</label>
<input id="{{field}}-no" name="{{field}}" ng-model="model" type="radio" value="no" />
<label for="{{field}}-no">No</label>
</fieldset>
...和我使用它像這樣(簡化):
<form name="person">
<yesno field="'happy'" model="happy" />
</form>
不幸的是,我所得到的person
對象是屬性{{field}}
ins像我想要的happy
。我一直告訴自己,像我正在嘗試的事情是可能的,我只需要找到它;但是什麼。
請幫忙。
更新
謝謝你,@HackedByChinese,幫助一點,但仍然不能令人信服。問題是,我確實需要雙向綁定,以便將收音機的值填充到父範圍中;相反,當我檢查person
對象時,它有一個{{field}}
屬性,而不是happy
屬性。
我想,這只是一些AngularJS不看支持:
AngularJS: Fields added dynamically are not registered on FormController
...和:
https://github.com/angular/angular.js/issues/1404
我學習 - 學會 - 有參與此一個物多;包含值的範圍和驗證對象,驗證對象包含表單的各種規則的結果。我注意到範圍工作正常。但是,驗證對象不是動態綁定的;它有一個使用未解析的視圖內容命名的屬性,並且是我在上面的** Update **中提到的。 – kalisjoshua
這應該爲你 [計算器鏈接]工作[1] [1]:http://stackoverflow.com/questions/27071413/dynamic-form-name-attribute-input-type -text-name-variable-name-in – SoEzPz
轉到這裏http://stackoverflow.com/questions/27071413/dynamic-form-name-attribute-input-type-text-name-variable-name-in – SoEzPz