ionic3 双向数据绑定失效 脏值检测失效
最近在使用ionic3过程中,使用了eval()方法进行字符串拼接成一个function使用
在eval()方法中,只能使用局部变量,全局变量无法使用,ionic3的this在eval中失效(undefined)
同时,在eval()方法拼接起来的function中,调用自定义的function,同样也无法使用this(全局变量)
因为eval()方法,ionic3的脏值检测失效,当this中的值改变时,需要在页面回显的值没办法跟着改变
因此,需要手动提醒数据刷新
所以,找到了 ChangeDetectorRef
使用方法很简单:
import { ChangeDetectorRef} from '@angular/core';
constructor(public changeDetectorRef:ChangeDetectorRef) {}
具体在代码中使用:
var that=this //将this(全局变量)赋给that,that代替this进行赋值改变 that.changeDetectorRef.detectChanges() //在赋值之后使用,提醒数据源改变,需要刷新
ionic3 双向数据绑定失效 脏值检测失效的更多相关文章
- Angularjs 脏值检测
文章转自:http://www.ituring.com.cn/article/39865 构建自己的AngularJS,第一部分:Scope和Digest 原文链接:http://teropa.inf ...
- 迈向angularjs2系列(4):脏值检测机制
目录 一: 概念简介 脏值检测,简单的说就是在MVC的构架中,视图会通过模型的change事件来更新自己. 脏值检测的核心代码是观察者模式的实现,其机制会执行digest循环,在特定UI组件的上下文执 ...
- Vue双向数据绑定原理分析(转)
add by zhj: 目前组里使用的是前端技术是jQuery + Bootstrap,后端使用的Django,Flask等,模板是在后端渲染的.前后端没有分离,这种做法有几个缺点 1. 模板一般是由 ...
- angular和vue双向数据绑定
angular和vue双向数据绑定的原理(重点是vue的双向绑定) 我在整理javascript高级程序设计的笔记的时候看到面向对象设计那章,讲到对象属性分为数据属性和访问器属性,我们平时用的js对象 ...
- AngularJS进阶(十六)脏值检查
脏值检查 注:请点击此处进行充电! 需求 在项目开发过程中,需要对药店信息进行更改.如下图所示.现在的需求是:当药店信息没有发生变化时,点击"更新信息"按钮,提示"药店信 ...
- Vue之双向数据绑定
demo.html <!DOCTYPE html> <html lang="en" xmlns:v-bind="http://www.w3.org/19 ...
- v-model 双向数据绑定以及修饰符
<!--v-model 实现双向数据绑定 其中一个值发生改变,另一个值也将实时发生改变--> <div id="app09"> <h1>{{ m ...
- ionic 搜索双向数据绑定失效
1.用data对象存储变化的数据 js: $scope.data={}; $scope.data.keywords = ""; $scope.search = function() ...
- Vue 框架-03-键盘事件、健值修饰符、双向数据绑定
Vue 框架-03-键盘时间及健值修饰符 一.键盘事件,当按键盘时,在控制台输出提示 html 源码: <!DOCTYPE html> <html> <head> ...
随机推荐
- 上传js,js修改html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 跑 vue 项目
cd ***** npm install 或 yarn(推荐) npm run dev 若是报错: missing script: dev ERR! A complete log of this r ...
- property 和 魔法方法
property和魔法方法 一.property 二.model,class,bases,mro 三.__doc__, __dict__,__call__,__item__,__len__,__str ...
- Win10系统jdk环境变量配置方法
http://www.w10zj.com/Win10xy/Win10yh_5620.html
- python进阶(四) windows下虚拟环境使用
虚拟环境作用: 1. 通常开发一个项目,会安装很多的第三方包,这时第三方包我们是安装在本机环境的.那么如果项目进行部署或移植的时候是不是要重新安装这些包???? 2.开发环境,同时在做两相项目,同时要 ...
- Go 初体验 - 令人惊叹的语法 - defer.1 - 基本概念和用法
在我们编程时,难免遇见 流.远程连接.文件等 io 操作,为了高性能,我们不得不打开和关系这些 io 对象. 在 java.C# 语言里这些打开和关闭的操作都需要程序员自己选择操作时机,一般是在 io ...
- 本地设置VirtualBox虚拟机
主要是涉及到网卡设置,允许本地ping虚拟机
- Vue用axios跨域访问数据
Vue用axios跨域访问数据axios是vue-resource的替代品,vue-resource不再维护.安装axios:npm install axios使用vue-cli开发时,由于项目本身启 ...
- highChart 缺值-曲线断开问题
time =item.datetime; aqi = Number(item.aqi); pm2_5 = Number(item.pm25); pm10 = Number(item.pm10); co ...
- Hdu2041 超级楼梯 (斐波那契数列)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2041 超级楼梯 Time Limit: 2000/1000 MS (Java/Others) M ...