我在angularjs中创建可重用的自定义指令,我希望将ng-repeate项目的fieldName作为属性传递。我的所有范围都是孤立的
我的指令代码部分如下
<div class="list">
<label ng-repeat="item in items" class="item item-text-wrap">
{{item.City}}
</label>
</div>
在上面的代码中,我传递fieldName硬编码,但我想通过属性传递City(即字段名称) 我的自定义指令
<custom-select items="deptStations" drop-down-field="City"></custom-select>
上述项目中的由来自控制器的http服务传递
.controller('Ctrl', function($scope, $http) {
$http.get("http://www.xxxx.com/_api/lists/getbytitle('XXX')/items?$select=Id,City_Code,City&$filter=Active eq 1&$orderby=City asc", {
headers: {
Accept : "application/json;odata=verbose"
}
}).then(function(resp) {
$scope.deptStations = resp.data.d.results;
}, function (err) {
console.log(err);
});
});
所以这里的想法是我想传递下拉字段,我想传递我的指令。是否可能,如果是,那么如何?
答案 0 :(得分:0)
我认为以下代码可以解决您的问题
angular.module("module").directive("customSelect", function(){
return{
scope : {
dropDownField : '@',
items : '='
};
};
});
<div class="list">
<label ng-repeat="item in items" class="item item-text-wrap">
{{item[dropDownField]}}
</label>
</div>