繁体   English   中英

AngularJS在构造列表中的元素时分配动态的ng-model名称?

[英]Angularjs assigning dynamic ng-model name ,in constructing elements in list?

在这里,我定义了我的代码,请为此提供帮助。 我在laravel的刀片模板引擎中使用angularjs,在这种情况下,我无法为angular中的ng-model动态分配名称

 $scope.categoryChange=function(id,model){ $scope.getCategories(id,model); };//category change orgusers=0; $scope.users = new Array(); $scope.addUsers = function(){ if($scope.totalExperts>0){ orgusers++; newUser={"name":"name"+orgusers,"model":"expertise"+orgusers,"category":"empcategory"+orgusers}; $scope.users.push(newUser); if($scope.totalExperts!='' && $scope.totalExperts>0){ $scope.totalExperts--; } }else{ alert("To add users please input total experts field ."); document.getElementById('focusIt').focus(); } }; $scope.removeUser = function(removeUser){ $scope.users.splice($scope.users.indexOf(removeUser),1); if($scope.totalExperts!='' || $scope.totalExperts==0){ $scope.totalExperts++; } }; $scope.getCategories=function(catId,model){ experts=new Array(); angular.forEach($scope.categories, function(value,key) { if(catId==value.parent){ experts[key]={id:value.id,name:value.category}; } }); $scope[model]=experts; }; 
 <div> <ul style="list-style-type: none;"> <li ng-repeat="user in users"> <label>Name:</label><input type="text" name="<%user.name%>" /> <label style="display:inline-block;">Email:</label><input type="text" name="empemail[]" /> <label style="display:inline-block;">Phone:</label><input type="text" name="empphone[]" /> {{ Form::label('select category','',array('style'=>'display:inline-block;')) }} <select name="empcategories[]" ng-model="<%user.name%>" ng-options="k as v for (k,v) in mainCategories" ng-change="categoryChange(emp1,'<%user.model%>')" ></select> {{ Form::label('Expertise','',array('style'=>'display:inline-block;')) }} <select name="empspecialized[]" ng-model="empspecialization" ng-options="k as v.name for (k,v) in <% user.model %>"> </select> <button ng-click="removeUser(user)">-</button> </li> </ul> </div> 

错误:[ngModel:nonassign]表达式'<%user%>'是不可分配的。 元素:任何建议或解决方案,请稍等

我找到了我发布的问题的解决方案。 我的错误是,在此尝试将无法分配给选择选项值的值分配为模型值,我将其更改为以下代码对我有用。

<div>
<ul style="list-style-type: none;">
<li ng-repeat="user in users">
<label>Name:</label><input type="text" name="<%user.name%>" />
<label style="display:inline-block;">Email:</label><input type="text" name="empemail[]" />
<label style="display:inline-block;">Phone:</label><input type="text" name="empphone[]" />
{{ Form::label('select category','',array('style'=>'display:inline-block;')) }}
<select name="empcategories[]" ng-model="user.category" ng-options="k as v for (k,v) in mainCategories" ng-change="categoryChange(user.category,'<%user.model%>')" ></select>
{{ Form::label('Expertise','',array('style'=>'display:inline-block;')) }}
<select  name="empspecialized[]" ng-model="empspecialization" ng-options="k as v.name for (k,v) in <% user.model %>">
</select> 
<button ng-click="removeUser(user)">-</button>
</li>
</ul>
</div>

我在这里需要的结果是我需要将当前选择的选项id传递给我的调用方法,以便我可以匹配并生成子类别列表。 希望对您有所帮助,谢谢

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM