2016-11-22 117 views
0

我在HTML这样的代码:无法访问范围值

<div ng-if="item.shareText"> 
<textarea></textarea> 
    <div> 
    <select ng-model="shareOptions"> 
     <option value="PUBLIC" selected>public</option> 
      <option value="FOLLOWERS">followers</option> 
      <option value="INDIVIDUAL">individuals</option> 
      </select> 
      <div ng-if="shareOptions == 'INDIVIDUAL'"> 
      <div 
      isteven-multi-select 
      input-model="userFriends" 
      output-model="outputUserFriends" 
      button-label=" icon fullName" 
      tick-property="ticked"> 
     </div> 
    </div> 
    </div> 
</div> 

在控制器:

if($scope.shareOptions == 'INDIVIDUAL' && $scope.outputUserFriends.length == 0){ 
     $window.alert("Please select your INDIVIDUALS"); 
     return; 
    } 

这里outputUserFriends是示出了长度为未定义。为什么?

+0

你写过的任何指示?如果是的话,请将其发布。如果没有,那么你如何期望outputUserFriends反映范围 –

+0

自定义该指令@nikhil – Ajay

回答

0

根据您的要求,像这样定义

$scope.outputUserFriends = ['a', 'b']; (your list goes here) 
alert($scope.outputUserFriends.length); 

outputUserFriends,你将能够访问此数组的长度。添加在这里工作codepen

结帐这个 codepen

+0

感谢您的信息。@ madhur我有outputUserFriends中的朋友列表。它是抛出一个错误,如无效数组长度 – Ajay

+0

哦,我看到,outputUserFriends是一个数组,让我编辑答案为相同的 – madhur

+0

我做too.it的抛出一个错误 – Ajay

-1

这可能是因为您使用$scope.outputUserFriends.length当ngModel没有价值到该对象绑定。

这可以固定只是将$scope.outputUserFriends.length定义为对象。

+0

它是抛出一个错误不能设置属性的'长度'未定义 – Ajay

+0

'$ scope.outputUserFriends = {}'这就是我的意思是xD对不起 –

+0

或者因为你使用'$ scope.outputUserFriends'作为一个字符串只是一个空字符串 –

0

定义

$scope.outputUserFriends = {user:''} 

然后检查 $scpe.outputUserFriends.user.length 也许工作