我的主页上有以下代码: -
<ul>
<li ng-repeat="item in list" ng-controller="controller1"></li>
</ul>
现在item有各种属性,如item.type,item.title,item.content,item.webService ......
如果item.content为null,则调用item.webService以获取内容,每个item.type都有自己的呈现模板
所以我想为每个item.type编写指令,它负责从模板:和 link 属性自己操作DOM
在链接中:我打电话给webservice获取内容
in template:我指定特定item.type ...
directive("directive1", function ($http) {
try {
return {
restrict: "E",
transclude: true,
scope: {
sWebServicePath: "="
},
template: template1,
link: function (scope, element, attrs) {
var request = {};
$http({ method: "POST", url: scope.sWebServicePath, data: request }).
success(function (data, status) {
scope.response = data;
}).
error(function (data, status) {
alert("Service Call Error");
})
}
}
}
catch (e) {
alert(e);
}
});
所以, type1由directive1处理 type2 by directive2等等..
现在我希望controller1具有上面指定的映射说明
<ul>
<li ng-repeat="item in list" ng-controller="controller1"></li>
</ul>
当 controller1 遇到 item.type = 1 时,它应该调用 directive1 ,然后调用 item.webservice 获取数据并包含 template1 以及来自webservice的响应
实现上述功能的理想方式是什么?如果有替代方法,请发表评论谢谢!