我尝试处理从一个ViewModel传递值到另一个ViewModel的问题.这是一个例子.
我们有Parent View及其相应的ViewModel,在该View中我们选择item,然后我们想要创建新的Child View(编辑选择的细节),在XAML中实例化它的ViewModel.当我需要将值传递给Child ViewModel构造函数时,会出现问题(它是必须从数据库中获取的数据的Id).我假设Parent的ViewModel必须与Child的ViewModel进行通信 - 但是由于Child的ViewModel没有实例化,因为Child的ViewModel在XAML中没有实例化,因此我们不能使用Messenger(MVVM Light Toolkit)并且只是从Parent的ModelView传播该信息,因为Child的ModelView无法订阅(注册到该类型的消息).
我不想打破MVVM模式,也找不到任何好的解决方案.我很感激能得到的所有帮助.
尝试使用 Javascript 插入 css 文档,但是我收到错误消息,提示必须启用 CORS。有办法处理吗?
这是代码:
var link = document.createElement('link');
link.rel = 'stylesheet';
link.href = 'https://use.fontawesome.com/releases/v5.2.0/css/all.css';
link.integrity = 'sha384-hWVjflwFxL6sNzntih27bfxkr27PmbbK/iSvJ+a4+0owXq79v+lsFkW54bOGbiDQ';
link.crossorigin = 'anonymous';
document.head.appendChild(link);
Run Code Online (Sandbox Code Playgroud) <div id="owner">
<!-- ...other parent elements -->
<div class="parent one"> <!-- parent lvl 1 -->
<div class="child one"> <!-- child lvl 1 -->
<!-- ...other parent elements -->
<div class="parent two"> <!-- parent lvl 2 -->
<div class="child two"></div> <!-- child lvl 2 -->
<div class="child two"></div>
<div class="child two"></div>
</div>
</div>
<div class="child one"></div>
<div class="child one"></div>
<div class="child one"></div>
</div>
</div>
var el = document.getElementById("owner");
el && el.querySelectorAll('.parent .child');
Run Code Online (Sandbox Code Playgroud)
重要提示:类名"one"和"two"仅用于视觉目的 - 它不存在.
结果我们将获得7次div.child节点.如何创建仅从"第一个lvl"中选择子项的选择器(最终得到4 x div.child.one).
重要提示:这是一个简单的例子,但实际上我们不知道div. …
我正在使用Swift 4并寻找一种方法来创建具有类型参数的数组集合的扩展函数
typealias Listener<T> = (T) -> Void
Run Code Online (Sandbox Code Playgroud)
但是无法创建下面的扩展名(使用未声明的类型'T')
extension Sequence where Element == Listener<T>{
func callAll(t: T){
self.forEach { $0(t) }
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法让它发挥作用?
javascript ×2
cors ×1
css ×1
extjs ×1
generics ×1
html ×1
mvvm ×1
silverlight ×1
swift ×1
tags ×1