我编写了一个指令,它只是用一组嵌套标签替换一个元素。问题是,我希望ngModel应用于第一个内部元素,而不是外部,这是默认情况下放置的位置。如何强制ng模型应用于内部元素?
首次尝试:
HTML:
<nested-elements ng-model="mymodel"></nested-elements>
指令:
app.directive("nestedElements",function(){
return{
restrict: 'E',
replace: true,
scope:{
ngModel:'='
},
template: '<div class="outer"><div class="inner1">Something</div><div class="inner2"></div></div>'
});
结果:
<div class="outer" ng-model="mymodel"><div class="inner1">Something</div><div class="inner2"></div></div>
不是我想要的。我希望ng-model应用于inner1 div。
尝试2:
HTML:
<nested-elements model="mymodel"></nested-elements>
指令:
app.directive("nestedElements",function(){
return{
restrict: 'E',
replace: true,
scope:{
model:'@'
},
template: '<div class="outer"><div class="inner1" ng-model="{{model}}">Something</div><div class="inner2"></div></div>'
});
结果:
<div class="outer"><div class="inner1" ng-model="{{ model }}">Something</div><div class="inner2"></div></div>
这显然不是我想要的。
如何让ng-model适用于inner1?
答案 0 :(得分:4)
尝试使用这些更改尝试2:
scope:{
model:'=ngModel'
}
和
<div class="outer"><div class="inner" ng-model="model">...