我總是得到那個錯誤。所以我很確定,我的「$ scope.permissionExists = function()」有問題「'indexOf'未定義?
任何想法?如果我錯過了發佈關聯代碼 - 請告訴我,讓
> TypeError: Cannot read property 'indexOf' of undefined
> at Scope.$scope.permissionExists(http://0.0.0.0:9000/scripts/controllers/signature.js:64:31)
> at Object.get (http://0.0.0.0:9000/bower_components/angular/angular.js:11064:21)
> at Scope.$digest (http://0.0.0.0:9000/bower_components/angular/angular.js:12775:40)
> at Scope.$apply (http://0.0.0.0:9000/bower_components/angular/angular.js:13050:24)
> at done (http://0.0.0.0:9000/bower_components/angular/angular.js:8525:45)
> at completeRequest (http://0.0.0.0:9000/bower_components/angular/angular.js:8739:7)
> at XMLHttpRequest.xhr.onreadystatechange (http://0.0.0.0:9000/bower_components/angular/angular.js:8678:11)
這裏是我的代碼:JS
$scope.data = {
newCustomerSig: null,
newAccountSig: null,
user: null,
account: null,
permissions: null,
maxSms: 1
};
....
var getAccountPermission = function() {
// check only when authenticated (or refresh possible)
AccountPermissions.one().getList().then(
function (resultOk) {
var permission = resultOk.data;
$log.d("AccountPermissions ok: ", resultOk);
$scope.data.permissions = permission;
},
function (resultError) {
$log.d("Accountinfo error: ", resultError);
ErrorService.showApiError(resultError);
},
function (resultNotify) {
$log.d("Accountinfo notify:", resultNotify);
}
);
};
$scope.permissionExists = function() {
if (data.permissions.indexOf("sign_change_global") > -1) {
//In the array!
return true;
} else {
return false;
//Not in the array
}
};
....
「sign_change_global」 <是數組中的值
HTML
....
<form name="formSignature" class="">
<div>
<i> Persönliche Signatur </i><br/>
<textarea id="persSignatur" name="persSignatur"
rows="5" cols="40"
use-sms-counter="data.smsCounter"
ng-model="data.newAccountSig"
ng-trim="false"
placeholder="{{data.user.signature}}">
</textarea>
<div>
{{data.newAccountSignewAccountSig}}
{{data.smsCounter.textLength}}
{{data.smsCounter.isUcs2}}
<div class="amount"
data-sms-counter="data.smsCounter"
data-sms-counter-content-list="[data.newAccountSig]"
data-max-messages="1">
</div>
{{data.smsCounter}}
</div>
</div>
....