我正在AngularJs
写一个指令,我希望将ng-model
作为参数传递。
<div class="col-md-7"><time-picker></time-picker></div>
指令是:
app.directive('timePicker', function () {
return {
restrict: 'E',
replace: true,
template: '<input type="text" class="form-control time-picker" ng-model="emp.signin">',
link: function ($scope, element, form) {
$(element).timepicker({'timeFormat': 'H:i:s'});
}
}
})
工作正常,此处ng-model
为emp.signin
。我希望能够将此ng-model
动态地作为参数传递
这怎么可能?
答案 0 :(得分:3)
您可以使用
<div class="col-md-7"><time-picker model-value="emp.signin"></time-picker></div>
角
app.directive('timePicker', function () {
return {
restrict: 'E',
replace: true,
template: '<input type="text" class="form-control time-picker"ng-model="modelValue ">',
scope: {
modelValue : '=',
}
link: function ($scope, element, form) {
$(element).timepicker({'timeFormat': 'H:i:s'});
}
}
})
<强>释强>
“=”
前缀将在父级和。之间创建双向绑定 指令范围,它总是期望属性值为 模型名称,表示您无法提供表达式作为值 属性映射到“=”前缀。
供参考:&#34; http://www.undefinednull.com/2014/02/11/mastering-the-scope-of-a-directive-in-angularjs/&#34;