小编Sme*_*ing的帖子

使用 mocha 和 chai 测试对象数组中的对象键

如果我有一个对象,它是对象数组

{ "places": [ {city: "Pittsburgh", state: "PA"} ] }
Run Code Online (Sandbox Code Playgroud)

如何测试索引 0 (places[0]) 处的数组是否有一个带有“city”键的对象?我尝试过,但没有成功

expect( {"places": [ {"city": "Pittsburgh", "state": "PA"} ] } ).to.nested.include({"places[0]" : "city"});
Run Code Online (Sandbox Code Playgroud)

javascript mocha.js chai

3
推荐指数
1
解决办法
1818
查看次数

Vuetify Navigation Drawer 工作一次然后停止

我正在使用 Vuetify 导航抽屉。打开它的元素位于标题中的单独组件(v-toobar-side-icon)中。我将抽屉的打开/关闭状态存储在商店中。我正在使用计算方法来获取抽屉的状态。我不断收到错误消息

Computed property "drawerState" was assigned to but it has no setter.

我知道这是因为我必须使用v-model来控制抽屉的可见性。我不想使用计算的 setter 来更改抽屉的状态,我想使用 click 方法。

我尝试使用:value而不是,v-model但我也无法使其正常工作。我遇到的实际问题是导航抽屉控件(打开/关闭)在主页上工作,但是一旦我导航到另一个页面,它们就会停止工作。如果我导航回主页,它们仍然不起作用。getter 和 setter 正在更改状态并更新它们应有的方式,但isActive导航抽屉的属性保持不变false

应用程序

<template lang="pug">
  v-app
    app-NavDrawer
    app-header
    router-view
    v-footer(app dark)
      span &copy; 2018 #[a(href="http://www.smellydogcoding.com") Smellydog Coding]
</template>

<script>
  import Header from './components/header/Header.vue'
  import NavDrawer from './components/header/NavDrawer.vue'
  export default {
    data () {
      return {

      }
    },
    components: {
      appHeader: Header,
      appNavDrawer: NavDrawer
    }
  }
</script>

<style>
html { …
Run Code Online (Sandbox Code Playgroud)

vue.js vuex vuetify.js

2
推荐指数
1
解决办法
6674
查看次数

使用 Factory 创建共享 ViewModel

我有一个带有 3 个选项卡的 TabLayout 的 DocumentsFragment:

TabRulesFragment、TabProceduresFragment、TabGuidanceFragment

在 DocumentsFragment 中,我使用工厂初始化共享 viewModel DocumentsSharedViewModel:

class DocumentsFragment : Fragment() {

    private lateinit var sharedViewModel: DocumentsSharedViewModel
    private lateinit var viewPager2: ViewPager2
    private lateinit var documentsCollectionAdapter: DocumentsCollectionAdapter

    override fun onCreateView(
        inflater: LayoutInflater,
        container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {

        val program = DocumentsFragmentArgs.fromBundle(requireArguments()).program
        val name = DocumentsFragmentArgs.fromBundle(requireArguments()).name

        val viewModelFactory = DocumentsSharedViewModelFactory(program, name)
        sharedViewModel = ViewModelProvider(this, viewModelFactory)[DocumentsSharedViewModel::class.java]
Run Code Online (Sandbox Code Playgroud)

在文档片段和 3 个选项卡片段之间共享数据。当我尝试连接到选项卡片段之一(例如 TabRulesFragment)中的共享 viewModel 时:

class TabRulesFragment : Fragment() {

    private lateinit var tabRulesRecyclerView: RecyclerView

    override fun onCreateView( …
Run Code Online (Sandbox Code Playgroud)

android android-viewmodel

2
推荐指数
1
解决办法
3266
查看次数