2013-12-10 79 views
0

我正面臨一個問題......在我的應用中,我創建了創建表單域的指令。我的想法是將json對象傳遞給具有自定義選項的指令,但是我正在用ng-model應用程序來驗證問題。首先這裏是我的指令代碼:將角度動態添加到模板中

.directive('formSelect', function() { 
    return { 
     transclude: true, 
     replace: true, 
     scope:{}, 
     template: '<label class="acxm-dropdown {{opts.cssClass}}"><span>{{opts.labelText}}</span><select ng-transclude=""></select></label>', 
     restrict: 'E', 
     link: function (scope, element, attrs) { 
      scope.opts = scope.$eval(attrs.opts); 
     } 
    }; 
    } 
) 

在scope.opts我想有與將被添加到輸入自定義屬性的子對象,所以我的指令將被稱爲:

<form-select opts="{labelText: 'active only', cssClass: 'acxm-p-horizontal acxm-u-inline active-filter', customAttrs: {'ng-model': 'onlyActive'}}"></form-select> 

我試圖添加ng模型attr動態輸入,但它沒有工作,我也試圖傳遞只有ng模型attr的名稱,但我也有一些問題......是否有可能使其工作?或不?感謝您的幫助...

+0

我設法找到解決方案: http://stackoverflow.com/questions/14115701/angularjs-create-a-directive-that-uses-ng-model –

回答

0

您可以將您的ng模型拉出opts =部分,但仍然可以在您的指令中引用它。看到這裏的答案作爲一個例子,我相信接近你想要完成的。

$watch ngModel from inside directive using isolate scope

+0

是的,它是關閉,但我仍然不明白這一點......它觀察到這個領域的價值變化,但我怎樣才能使它與我的過濾工作?這是我想要的:例如,我有一個複選框,它應該過濾表中以前處於活動狀態的用戶:ng-model =「activeOnly」,並且比添加到表格行過濾器:onlyActive當創建表時。 。我該如何處理? –

+0

我不明白。你可以設置一個jsFiddle嗎? – Darryl

+0

好的我有類似於這個:http://jsfiddle.net/V9e9M/1/,但基於表和更多的數據:)。我想創建一個輸入指令,它將創建一些opts作爲參數傳遞給指令的輸入... –