以下是我的指令
的定义module.exports = ()=>{
return {
restrict: 'E',
templateUrl: "/components/appointment/appointment.html",
scope: {iter: '=iter'},
controller: "appointmentCtrl"
};
};
我正在使用
来调用它appointment(iter="itenary")
现在问题是当我尝试使用
在模板中渲染它时p(ng-bind="iter.itenery")
它工作正常并向我显示它支持但在控制器内部的正确字符串
module.exports = function($scope,$rootScope,api){
console.log($scope.iter.itenery);
$scope.event = function(){
console.log($scope.iter.itenery);
}
});
返回undefined。现在为了调试,我将$scope.event
函数添加到模板中的按钮,该按钮在按钮单击时触发。那时我得到了我期望的正确值。
这让我相信在设置$scope.iter
的值之前调用控制器。现在我需要在控制器中赋值来渲染模板数据onLoad
。我怎么能这样做?
模板的代码是
.appointment(ng-init="")
p(ng-bind="iter.itenery")
ul.dayTitle
li(ng-repeat="day in [] | range: totDays")
h5(data-ng-class="{'active': day==currentDay}" ng-click="setDay(day)") Day {{day}}
li
h5.add(ng-click="addDay()") +
.day
.hour(ng-repeat="i in curIter")
.label(ng-show="i.index>10") {{i.index-1}}00 - {{i.index}}00
.label(ng-show="i.index<10") 0{{i.index-1}}00 - 0{{i.index}}00
.label(ng-show="i.index==10") 0{{i.index-1}}00 - {{i.index}}00
.half.first(dropzone data-time-slot="{{(i.index*2-1)}}")
img(draggable src="{{i.first.icon}}" id="{{i.first._id}}")
.half.second(dropzone data-time-slot="{{(i.index*2)}}")
img(draggable src="{{i.second.icon}}" id="{{i.second._id}}")
注意第二行绑定工作正常但不在控制器
中