Javascript Angualar Dynamic ng型号名称内置手风琴
我希望在下面的场景中有一个动态的Javascript Angualar Dynamic ng型号名称内置手风琴,javascript,angularjs,accordion,Javascript,Angularjs,Accordion,我希望在下面的场景中有一个动态的ng模型名称。在选择部门框时,我将绘制表格 它与, ng model=“department.name”,但由于我们有一些其他内部资料,这会导致一些其他问题。我希望名称为ng model={{department.name}},这样名称本身将是动态的 <div ng-app > <ul ng-repeat="department in selectedDepartments"> <li>
ng模型
名称。在选择部门框时,我将绘制表格
它与,
ng model=“department.name”
,但由于我们有一些其他内部资料,这会导致一些其他问题。我希望名称为ng model={{department.name}}
,这样名称本身将是动态的
<div ng-app >
<ul ng-repeat="department in selectedDepartments">
<li>
<div>{{department.id}}</div>
<input type="text" ng-model={{department.name}}" >
</li>
</ul>
</div>
我尝试创建一个指令,如下所示
this.app.directive('dynamicModel', ['$compile', '$parse', function ($compile, $parse) {
return {
restrict: 'A',
terminal: true,
priority: 100000,
link: function (scope, elem) {
var name = $parse(elem.attr('dynamic-model'))(scope);
elem.removeAttr('dynamic-model');
elem.attr('ng-model', name);
$compile(elem)(scope);
}
};
}]);
但是,我仍然无法使用as动态模型={{department.name}
谢谢我认为不需要定制指令。您可以通过在ng模型中使用javascript表达式来使用动态模型。这里有一个例子 在你的情况下,我认为你正在寻找这样的东西
var-app=angular.module('myApp',[]);
应用程序控制器('myCtrl',函数($scope){
$scope.selectedDepartments={};
$scope.departments={
“审核”:[{id:0,名称:“auditDept0”},
{id:0,名称:“auditDept1”}],
“hr”:[{id:0,名称:“hrDept0”},
{id:0,名称:“hrDept1”}],
“财务”:[{id:0,名称:“financeDept0”},
{id:0,名称:“financeDept1”}]
};
$scope.selectDepartment=功能(名称){
如果(名称=“hr”){
$scope.selectedDepartments=$scope.departments.hr;
}else if(名称=“财务”){
$scope.selectedDepartments=$scope.departments.finance;
}
}
$scope.selectDepartment('hr');
});代码>
-
{{department.id}
{{部门[名称]}
this.app.directive('dynamicModel', ['$compile', '$parse', function ($compile, $parse) {
return {
restrict: 'A',
terminal: true,
priority: 100000,
link: function (scope, elem) {
var name = $parse(elem.attr('dynamic-model'))(scope);
elem.removeAttr('dynamic-model');
elem.attr('ng-model', name);
$compile(elem)(scope);
}
};
}]);