[英]Angular.JS Uncaught TypeError: Cannot assign to read only property
但是,嘗試創建一個應用程序,並帶有應該保存到本地存儲的切換設置,但並沒有太多運氣。
我正在使用 Ionic + Angular.JS
這是我的代碼,我收到錯誤 Uncaught TypeError: Cannot assign to read only property
控制器.js:
.controller("ExampleController", ['$scope', '$window', function($scope, $window) {
$scope.CONFIG = localStorage.getItem('CONFIG');
if (!$scope.CONFIG) {
$scope.CONFIG = {karton: true};
}
$scope.save = function(checked) {
$scope.CONFIG.karton = checked;
localStorage.setItem('CONFIG', $scope.CONFIG);
}
}]);
HTML文件:
<div class="item item-avatar item-icon-right">
<img src="img/box.jpg">
<ion-toggle type="checkbox" ng-model="karton.checked" ng-change="save(karton.checked)" ng-init="karton.checked = CONFIG.karton" toggle-class="toggle-balanced" id="karton" name="karton">Karton</ion-toggle>
<div>Box Value: <span class="val">{{karton }}</span></div>
</div>
編輯
我現在有了這個,但它在控制台日志中返回一個“未定義”:
.controller("ExampleController", ['$scope', '$window', function($scope, $window) {
$scope.CONFIG = (localStorage.getItem('CONFIG'));
if (!$scope.CONFIG) {
$scope.CONFIG = {karton: true};
}
$scope.save = function(checked) {
JSON.stringify($scope.CONFIG.karton) === checked;
localStorage.setItem('CONFIG', JSON.stringify($scope.CONFIG));
console.log(JSON.stringify($scope.CONFIG.karton));
}
}]);
$scope.CONFIG 的值是一個對象,localStorage 只支持字符串。 使用 JSON.stringify() 和 JSON.parse()。
.controller("ExampleController", ['$scope', '$window', function($scope, $window) {
$scope.CONFIG = JSON.parse(localStorage.getItem('CONFIG'));
if (!$scope.CONFIG) {
$scope.CONFIG = {karton: true};
}
$scope.save = function(checked) {
$scope.CONFIG.karton = checked;
localStorage.setItem('CONFIG', JSON.stringify($scope.CONFIG));
}
}]);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.