実際に私の要件は、角度ファクトリメソッドを動的に割り当てることです。角度ファクトリメソッドを動的に割り当てる方法は?
表情にこのコードを持ってください:上記のコードで
angular.forEach(scope.mapperData.collections.controltype.rowset, function (value, index) {
if (value.controltypeid == scope.controlId){
scope.controlData = value.controltypename;
controlContent = angular.element(layoutControlsFactory[scope.controlData]());
$compile(controlContent)(scope);
element.append(controlContent);
}
});
var controlContent = angular.element(layoutControlsFactory[scope.controlData]());
はscope.controlData
を持っています。値は動的になります。私は、私が試したが、それはエラーを示しているよう
var controlContent = angular.element(layoutControlsFactory[ThirdPartyAutoComplete]());
それとも
var controlContent = angular.element(layoutControlsFactory.ThirdPartyAutoComplete());
layoutControlsFactoryコード
にbosAppModule.factory("layoutControlsFactory",function($compile){
var layoutControlsFactory={};
layoutControlsFactory.ThirdPartyAutoComplete=function(controlId){
console.log("## Create ThirdPartyAutoComplete");
var template='<input kendo-auto-complete>';
return template;
};
return layoutControlsFactory;
});
を割り当てる必要があります。
typeError: layoutControlsFactory[scope.controlData] is not a function
私は私の要件をよく説明したと思います。詳細が必要な場合はお知らせください。誰も私がこれを達成するのを助けることができますか?
'layoutControlsFactory'は' scopeControlsFactory'のように見え、 'scope.controlData'の値は何ですか?彼らが適切なデータを持っていれば、あなたの構文はうまくいくはずです(https://jsfiddle.net/jyonvcj4/) – Jamiec
@Jamiec - これでlayoutControlsFactoryコードが追加されました。見てください。 – bagya