我想使用指令來顯示一組數據。因爲我製作了這樣一個元素:<jobs type="1" />
;屬性類型決定了用戶應該看到的作業類型,並在我的模板中過濾我有以下代碼:<div ng-repeat="job in jobs | filter:{'type':type}">{{job.title}}</div>
。通過角度指令內部的服務進行過濾
問題我有我是不能弄清楚如何從我的元素採取屬性值,並推動它與我的服務結果一起,而沒有使角度生氣。
我的指令:
angular.module('myApp').directive('jobs', jobsDirective);
jobsDirective.$inject = ['jobService','$scope','$sce'];
function jobsDirective(jobService, $scope, $sce) {
//this return results
var jobs = jobService.getAllJobs().success(function (data, status, headers, config) {
return data;
});
return {
restrict:'E',
replace:true,
templateUrl:'templates/jobs.html',
scope: {
type:'@'
},
link: function(scope){
scope.jobs = jobs;
}
}
}
嘗試爲您的指令創建一個控制器函數,然後在控制器中注入範圍服務,您將可以訪問'type'屬性。基於這個值調用你的服務在控制器功能裏面 –
我可以爲指令創建控制器嗎?無法找到一個參考它在谷歌 – Ash
剛剛發現一個:-p – Ash