在输入指令返回之前,我需要访问范围变量。返回前的角度指令范围
我有一个指令,它返回一个选择元素与每个卡车的选项。
<tc-vehicle-select label="Truck" selected="activeDailyLog.truck"></tc-vehicle-select>
我需要使用所选值的指令把一个selected
标记相应的选项元素。
.directive('tcVehicleSelect', function(localStorageService) {
/* Get a list of trucks for the organization and populate a select element for
the user to choose the appropriate truck.
*/
var trucks = localStorageService.get('trucks');
var truckHtml;
for (var i = 0; i < trucks.length; i++) {
var truck = trucks[i];
var injectText;
if(truck.description){
injectText = truck.description
}else{
injectText = 'truck ' + truck.id
}
truckHtml += '<option value="' + truck.id + '">' + injectText + '</option>'
}
return {
scope: {
label: '@',
active: '@'
},
replace: true,
template: '<label class="item item-input item-select">' +
'<div class="input-label">{{label}}</div>' +
'<select ng-model="timeLog.truck"><option value="">None</option>' + truckHtml +
'</select></label>'
};
});
我把一切都在这个指令的工作,除了我卡上设置selected
属性的正确元素。如果我可以访问传入的selected
变量,我可以通过插入到truckHtml中来实现,但是我没有找到使用该变量的示例 - 只使用下面的变量块中的变量。
任何想法?
更新:也想澄清一下,HTML中的activeDailyLog.truck
有我正在寻找的正确值。
你把回报高于出厂函数的代码将只被调用一次,即使你有五个指令实例。只是一个友好的说明:) – tasseKATT
有一点,我不知道如果你的ng模型将在孤立的范围内工作。 – BroiSatse
@BroiSatse我现在看到了,它曾经愚弄过我,我认为它在工作,但事实上并非如此。所以现在有两件事情是错误的,但我会分开处理这个问题 – awwester