0

我在頁面上有4個選擇下拉列表。在每一個下面,我都希望動態HTML基於角度形式的選擇來生成。將模型傳遞給AngularJS中的指令

我有這個至今:

ruleSelect.js.erb

angular.module('productsApp') 
    .directive('ruleSelect', [ 
    function() { 
    return { 
     restrict: 'E', 
     replace: false, 
     // require: 'ngModel', 
     scope: { 
     options: '=', 
     ruleBldr: '=' 
     }, 
     templateUrl: "<%= asset_path('shared/templates/ruleSelect.html') %>", 
     link: function(scope, element, attrs){ 
     } 
    }; 
}]); 

ruleSelect.html.slim

select.form-control ng-model="value" 
    option ng-repeat="field in options | fieldFilter:['templateOptions', 'label']" value="{{$index+1}}" 
    | {{field.templateOptions.label}} 

form 
    formly-form fields="ruleBldr.form[value].fieldGroup" 

但在範圍options設置,但ruleBldr是空的。

HTML頁面

.row 
    .col-md-offset-6.col-md-6 ng-repeat="obj in ruleB.formObjects" 
    label.control-label() {{obj.fieldGroup[0].template}} 
    rule-select options='obj.fieldGroup' ruleBldr="obj" 

回答

1

ruleB.form[value]value不被任何定義。

如果表格應根據<select>中選擇的值創建,則需要將ng-model添加到<select>。請注意0​​應該始終是一個對象。

link: function(scope, element, attrs){ 
    scope.selectModel ={} 
} 

select.form-control ng-model="selectModel.value" 

formly-form fields="ruleBldr.form[selectModel.value].fieldGroup" 

由於問題描述非常差,因此其中的一部分是有點猜測的。此外,我不知道你的模板系統正確的HTML語法

我也不能肯定,如果你需要傳遞到指令從控制器

+0

初始值,但ruleBldr具有正確的密鑰,但所有的值都爲空。 – mikeglaz

+0

有一個非常困難的時間跟在確切的問題是什麼。創建一個複製這個 – charlietfl

+0

的演示,在html中'ruleBldr =「obj」'應該是'rule-bldr =「obj」'。一個很好的竅門是'

{{ruleBldr.form | json}}
'在視圖中查看範圍對象看起來像什麼 – charlietfl

相關問題