Angular.JS未捕获类型错误:无法分配给只读属性
Angular.JS Uncaught TypeError: Cannot assign to read only property
尽管试图创建一个应用程序,但它的切换设置应该保存到本地存储,但运气并不好。
我正在使用Ionic+Angular.JS
这是我的代码,我得到了错误Uncaught TypeError:无法分配给只读属性
Controller.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));
}
}]);
相关文章:
- 是否可以使用CSS分配数据属性
- 为什么 Jasmine 在我设置 selectedIndex 时抱怨“试图分配给只读属性”
- 尝试分配只读属性,即使相同的命令在其他地方也有效
- 因果报应:试图分配给只读属性
- 在[background:url({{XXX}})无重复中心的严格模式下,不允许分配只读属性
- 补间最大动画 无法分配给只读属性“_gsTweenID”
- AngularJS $http.delete 在“类型错误:无法分配给只读属性'方法'”中中断
- Ionic2 + Angular2 - 尝试分配给只读属性
- 未捕获的类型错误: 无法分配给只读属性
- 类型错误: 无法分配给只读属性“选中”复选框
- 不能分配给只读属性“_id”
- 在 IE 11 的严格模式下,不允许将 AngularJS 分配给只读属性
- 奇怪的行为angularjs返回"类型错误:无法分配给只读属性"
- IndexedDBShim.js错误:JavaScript运行时错误:在严格模式下不允许分配只读属性
- Javascript:无法分配给只读属性'_epoch'的错误
- Chrome开发-无法分配只读属性
- Angular.JS未捕获类型错误:无法分配给只读属性
- 类型错误:试图分配只读属性.在iOS8 Safari上
- CreateJS错误:不能分配只读属性'tweenjs_count'qContainer
- Express/Node.js中呈现MySQL结果:无法分配给只读属性'_当地人'