我对阻止 Angular 的双向绑定的深度链接有疑问。
我在 git 中做了一个测试项目。请在此处查看(这是一个简单的离子默认项目。如果您已经安装npm
并且ionic-cli
,只需运行npm i
,ionic cordova platform add ios
)
项目说明 1. 工作案例
- 有3页。主页、列表和模态。
- 每个页面都有一个
input
,并且这个输入的变量与test
变量相连。这test
显示在下方input
喜欢:
<input (input)="testFn($event)" name="myTest">
<p>Hello {{test}}!</p>
- 每一页,每当我输入输入时,它都会立即反映在
{{test}}
. - 一切似乎都很好。
2.不工作的情况
如果你检查
app.component.ts
,你会看到 deeplinks 被设置为this.nav.push('ListPage');
并且 url 是myapp://list
所以在我的 xcode iphone 模拟器中,我将打开 safari 并在地址栏中输入
myapp://list
. 它会将您重定向到列表页面。- 从那时起,输入要反映的输入
{{test}}
在列表页面和模态页面中不起作用。但是在主页上工作。 - 在
testFn
函数中,我把console.log
. 当我测试时,console.log 总是能正确打印。所以我猜角度没有正确更新。(如果您在 xcode iPhone 模拟器中看不到键盘cmd + shift + k
:)
我的环境
- 离子框架:3.5.0
- 离子应用脚本:1.3.12
- 角核心:4.1.3
- Angular 编译器 CLI:4.1.3
- 节点:7.10.0
- 操作系统平台:macOS Sierra
- 导航平台:MacIntel
- 用户代理:Mozilla/5.0(iPhone;CPU iPhone OS 9_1,如 Mac OS X)AppleWebKit/601.1.46(KHTML,如 Gecko)版本/9.0 Mobile/13B143 Safari/601.1
- Xcode:8.3.3 (8E3004b)
- 模拟器:iPhone 5 iOS 10.3 (14E8301)
我也尝试过ionic cordova platform rm ios
,ionic cordova platform add ios
但没有运气。
谁能告诉我我的代码有什么问题?
非常感谢。
编辑:我可以使用ChangeDetectorRef
'sdetectChanges
来强制更新视图。但我认为这不是一个好的解决方案。