Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 在自定义指令中将值传递给ng模型_Angularjs_Angularjs Directive_Angularjs Scope - Fatal编程技术网

Angularjs 在自定义指令中将值传递给ng模型

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">

是的,我可能错过了一些很明显的东西,但现在开始。我有一点从引导HTML,我想重用,所以我想把它变成一个自定义指令

<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);