Angularjs 在自定义指令中将值传递给ng模型
是的,我可能错过了一些很明显的东西,但现在开始。我有一点从引导HTML,我想重用,所以我想把它变成一个自定义指令Angularjs 在自定义指令中将值传递给ng模型,angularjs,angularjs-directive,angularjs-scope,Angularjs,Angularjs Directive,Angularjs Scope,是的,我可能错过了一些很明显的东西,但现在开始。我有一点从引导HTML,我想重用,所以我想把它变成一个自定义指令 <label class="toggle"> <input ng-model='model' type="checkbox" class="toggleInput"> <div class="track"> <div ng-show="test" class="toggle-label on">
<label class="toggle">
<input ng-model='model' type="checkbox" class="toggleInput">
<div class="track">
<div ng-show="test" class="toggle-label on">
{{onText}}
</div>
<div ng-show="!test" class="toggle-label off">
{{offText}}
</div>
<div class="handle"></div>
</div></label>
但是,当查看html标记时,ng模型属性没有更改为“myModelName”,仍然只显示“modal”,因此没有更新
我做错了什么
谢谢大家尝试更换
与
因为您想将传入模型名的值绑定到指令内模板的ng model属性中。解决了这个问题。。。。在link函数中使用compile将模型动态添加到我需要的元素中:
<label class="toggle">
<input ng-model='model' type="checkbox" class="toggleInput">
<div class="track">
<div ng-show="test" class="toggle-label on">
{{onText}}
</div>
<div ng-show="!test" class="toggle-label off">
{{offText}}
</div>
<div class="handle"></div>
</div></label>
return $compile($('input.toggleInput',element).attr('ng-model', model))(scope);
对不起,我应该说我试过了,但那个是错误的,因为你们不能在ng模型中使用表达式。错误为:错误:[$parse:syntax]语法错误:标记“ngModel”意外,应在从[ngModel}]开始的表达式[{{ngModel}}}]的第3列处出现[:]
return $compile($('input.toggleInput',element).attr('ng-model', model))(scope);