Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.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
Javascript ng模型不绑定在ng repeat中,而其他所有内容都绑定在ng repeat中_Javascript_Angularjs_Angularjs Ng Model_Ng Bind - Fatal编程技术网

Javascript ng模型不绑定在ng repeat中,而其他所有内容都绑定在ng repeat中

Javascript ng模型不绑定在ng repeat中,而其他所有内容都绑定在ng repeat中,javascript,angularjs,angularjs-ng-model,ng-bind,Javascript,Angularjs,Angularjs Ng Model,Ng Bind,我知道在这个话题上已经有很多问题了,我尝试了我找到的解决方案,但似乎不起作用。 基本上,我有一个名为basicMunch的指令,它遍历一个对象数组并创建一些html。 除了ng模式之外,其他一切都很好地工作并绑定 以下是该指令的代码: > munches.directive('basicmunches', function() { return { > require: 'ngModel', > template:`<div class='co

我知道在这个话题上已经有很多问题了,我尝试了我找到的解决方案,但似乎不起作用。 基本上,我有一个名为basicMunch的指令,它遍历一个对象数组并创建一些html。 除了ng模式之外,其他一切都很好地工作并绑定 以下是该指令的代码:

>     munches.directive('basicmunches', function() {   return {
>     require: 'ngModel',
>     template:`<div class='columns'>  <div ng-repeat="mu in basicMunches" class="card column col-4 col-sm-12">
>           <div class="card-header">
>             <h4 class="card-title">{{mu.name}}</h4>
>             <h6 class="card-subtitle">{{mu.type}}</h6>
>           </div>
>           <div class="card-body">
>             {{mu.text}}
>           </div>
>           <div class="card-footer">
>             <div class="form-group">
>               <label class="form-switch">
>                 <input ng-model="mu.tag" name="{{mu.tag}}"  type="checkbox" />
>                 <i class="form-icon"></i> Turn On
>               </label>
>             </div>
>           </div>
>         </div></div>`   } });
以下是我在控制台中看到的内容

我曾尝试过使用$parent.mu.tag和$parent.mu.tag,但由于它没有嵌套在其他作用域中(至少我不知道),因此无法正常工作

我试着使用controller.mu.tag的名称,但也不起作用

我试过做mu,但也没用

我试过使用{{{但那不起作用 我将其更改为ng bind={{mu.tag}},这确实有效 这对我来说很奇怪,它适用于ng bind,但不适用于ng模型。。。。
总之,有人有什么想法吗?

看起来您想要的是将
ng model
属性绑定到
mu.tag
值,而不是
mu.tag
本身

由于解析
ng model
的方式,您需要使用括号语法的变体来实现这一点。这里正确的语法是
$parent[mu.tag]
将在
$parent
对象上查找由
mu.tag
的值命名的属性。
ng repeat
的父对象是
$scope
,因此这将以正确对象上的属性结束

<input ng-model="$parent[mu.tag]" name="{{mu.tag}}"  type="checkbox" />


似乎您想要的是将
ng model
属性绑定到
mu.tag
值,而不是绑定到
mu.tag
本身

由于解析
ng model
的方式,您需要使用括号语法的变体来实现这一点。这里正确的语法是
$parent[mu.tag]
将在
$parent
对象上查找由
mu.tag
的值命名的属性。
ng repeat
的父对象是
$scope
,因此这将以正确对象上的属性结束

<input ng-model="$parent[mu.tag]" name="{{mu.tag}}"  type="checkbox" />


让复选框输入用以下内容填充对象的属性:


订阅{{choices | json}}
{{mu.name}
{{mu.text}}

打开
订阅的{{choices[mu.tag]}
让复选框输入用以下内容填充对象的属性:


订阅{{choices | json}}
{{mu.name}
{{mu.text}}

打开
订阅的{{choices[mu.tag]}
您的ng model=“mu.tag”绑定到一个字符串,输入为type=“checkbox”这行不通。要么将类型更改为文本,要么绑定到bool。它似乎在plunker中工作,您能在这里复制问题吗?@PankajParkar是的,脚本正在工作,但这并不是我真正想做的。如果您检查元素输入,您将看到我询问的问题仍然存在,ng模型仍然存在它等于“mu.tag”,而不是我所希望的标签名称。您尝试做的事情很奇怪。您真的想要
ng model=“wsj”
,通过从
mu.tag
属性中读取值
wsj
,是吗?虽然可能有办法做到这一点,但就这个数组而言,它并没有真正的意义,因为这意味着在
$scope
上有一个名为
wsj
的属性,这与
mu
的其余部分有什么关系特别是因为可以有多个
mu
,但只有一个
wsj
属性?是的,这正是我想要做的。每个具有不同属性的mu标记,wsj只是一个例子。@ClaiesYour ng model=“mu.tag”绑定到一个字符串,输入为type=“checkbox”这行不通。要么将类型更改为文本,要么绑定到bool。它似乎在plunker中工作,您能在这里复制问题吗?@PankajParkar是的,脚本正在工作,但这并不是我真正想做的。如果您检查元素输入,您将看到我询问的问题仍然存在,ng模型仍然存在它等于“mu.tag”,而不是我所希望的标签名称。您尝试做的事情很奇怪。您真的想要
ng model=“wsj”
,通过从
mu.tag
属性中读取值
wsj
,是吗?虽然可能有办法做到这一点,但就这个数组而言,它并没有真正的意义,因为这意味着在
$scope
上有一个名为
wsj
的属性,这与
mu
的其余部分有什么关系特别是因为可以有多个
mu
但只有一个
wsj
属性?是的,这正是我想要做的。每个带有不同属性的mu标记,wsj只是一个例子。@Claiesintesesting,这看起来很有效,尽管当我检查使用inspect元素时,它只显示“$parent[mu.tag]”…我将继续讨论,看看它是否有效…浏览器不知道您绑定到的实际属性,因为它是一个经过计算的属性,通常您直接绑定到该属性。此外,我通常不建议使用
$parent
,因为如果任何更改DOM层次结构的操作都可能导致未执行CTE结果。然而,在本例中,您唯一的其他选择是创建一个可以保存属性的对象,或者将控制器更改为语法。实际上,我建议更改为控制器,原因有很多,但这有点超出了这个问题的范围。哇,很有趣。无论如何,非常感谢。您是否可以指出m这是一个很好的阅读,但是我提到的那部分是关于controller as.intesessing的,这看起来是可行的,尽管
<fieldset ng-repeat="mu in munchies">
    <input ng-model="choices[mu.tag]" name="{{mu.tag}}"
             type="checkbox" />
      &nbsp;  Turn On
</fieldset>