私はAngularJSには新しく、別のディレクティブを含むディレクティブを作成しようとしています。 。ディレクティブディレクティブAngular
:私はすべてのイベントを表示するにはNGリピートを使用しています。このディレクティブのhtmlの内部(
function() {
app.directive("cmEventBar", function() {
var controller = function() {
var vm = this;
vm.events = [
{name: "Truckdriver1", eventId: 1 },
{name: "Truckdriver2", eventId: 1 },
{name: "Truckdriver3", eventId: 1 }
];
}
return {
templateUrl: "app/shared/eventsBar/eventBar.html",
restrict: "E",
controller: controller,
priority: 1000,
terminal: true,
controllerAs: "vm",
scope: {}
};
});
})();
どのように見えるか最初のディレクティブここで
Insindeは、私は別のディレクティブを持ってNGリピート
<div ng-repeat="item in vm.events">
<cm-single-event name="{{item.name}}" eventId="{{item.eventId}}"></cm-single-event>
</div>
ここでどのように見えるか第二のディレクティブ:
(function() {
app.directive("cmSingleEvent", function() {
var controller = function() {
var vm = this;
vm.info = switchEvent(eventId);
}
return {
template: "<li class={{vm.info.itemClass}}> {{vm.name}} {{vm.info.messege}} </li>",
restrict: "E",
controller: controller,
controllerAs: "vm",
scope: {
name: "=",
eventId: "="
}
};
});
})();
イベントには3つの要素があり、出力には1つの要素しか表示されないため+内部にはvm.infoはありません。
出力
{{vm.name}} {{}} vm.info.messege
私はここで間違って何をしているのですか?
ありがとうございます!何であるか
'switchEvent'? –
idでイベントに関する情報を返す単純なjavascript関数 – miechooy
eventIdは、HTML側にevent-idと記述する必要があります。また、bindToController:trueを使用して、vmの名前とイベントIDにアクセスします。 – Delapouite