小编Mic*_*bro的帖子

Angular 4+:<a>元素中的RouterLink无法正常工作

我已经把我AppRoutingModule里面imports@NgModuleAppModule类。

AppRoutingModule的定义方式如下:

const APP_ROUTES : Routes = [
    { 
        path: '', 
        redirectTo: 'home', 
        pathMatch: 'full',
    },
    {
        path: 'home', 
        component: HomeComponent
    },
    {
        path: 'lesson-offers', 
        component: LessonOffersComponent
    },

    { path: '**', redirectTo: 'home' }
]
Run Code Online (Sandbox Code Playgroud)

我已经放置<router-outlet></router-outlet>在app.component.html中。

页面根据URL正确显示:

localhost:5000/  
localhost:5000/home  
localhost:5000/lesson-offers
Run Code Online (Sandbox Code Playgroud)

问题出在我的header.component.ts中,我试图将routerLink添加到主页。我已经尝试过这样的解决方案:

<img routerLink="home" ... />
<img [routerLink]="/home" ... />
<a routerLink="home"> <img ... /></a>
<a [routerLink]="home" ... ><img ... /></a>
Run Code Online (Sandbox Code Playgroud)

首先,当我将routerLink放置在<img>元素中时,找不到这样的指令。然后在<a>元素中,它使<a href="/home">routerLink 变得随意,并重新加载整个页面!它不应该只重新加载的内容<router-outlet> …

routerlink angular

5
推荐指数
1
解决办法
9957
查看次数

约束布局中心两个水平按钮,边距很小,垂直居中

我想把我的白色按钮放在屏幕中央,有这样的限制.1.在父边缘之间水平居中,并可能放置一些边距.2.在顶部父按钮和按钮按钮之间垂直居中.现在我的布局在图像上看起来像这样

在此输入图像描述

好吧我想我可以把这个按钮放在一些FrameLayout然后约束它,但这似乎是压倒性的添加另一个布局.我添加了D-Pad和XAYB这样添加下一个FrameLayout甚至RelativeLayout似乎与使用ConstraintLayout相矛盾,其目的是防止许多布局的深度嵌套,如线性,相对,帧布局.

android android-constraintlayout

5
推荐指数
1
解决办法
4002
查看次数

使用 z-index 的 CSS 不会将子元素放置在其父元素后面

我正在尝试制作一个从标题滑动的下拉菜单。我有一个标题,里面有一些带有边框底部 1px 线和背景颜色的 div。在此 div 内,我想放置徽标、搜索框、一些链接和用户个人资料按钮。单击此按钮时,我想在此按钮下方显示下拉菜单。不幸的是,这个下拉菜单出现在标题前面,而不是从标题后面滑动(遮挡标题背景和底部边框线)。我尝试过如下解决方案(它是简化版本)。

header {
  position: relative;
  z-index: 5;
}

.dropdown {
  background-color: yellow;
  width: 100px;
  height: 100px;
  position: absolute;
  z-index: 1;
}

.background {
  position: absolute;
  background-color: #ccca;
  border-bottom: 1px solid black;
  width: 100%;
  height: 50px;
  z-index: 2;
}
Run Code Online (Sandbox Code Playgroud)
<header>
  <div class="background">
    <div class="dropdown">
    </div>
  </div>
</header>
Run Code Online (Sandbox Code Playgroud)

我尝试了很多 z-index 配置,但似乎都不起作用。1. div.background 的 z-index 为 2,div.dropdown 的 z-index 为 1 甚至 -1 2. div.background 没有 z-index 和位置,div.dropdown 的 z-index -1(此处下拉列表位于标题后面但菜单链接停止工作,菜单也位于网页主要内容的后面)

如何使我的 div.dropdown 从标题栏后面滑动,并带有背景和边框底线?是否可以将此 div.dropdown 作为子元素放在 header div …

html css

5
推荐指数
1
解决办法
2232
查看次数

导航架构组件 - 导航抽屉

我正在将导航组件与导航抽屉一起使用。

  1. 我为菜单中的每个导航项添加了片段。
  2. 添加 NavHostFragment 将交换此 Fragment
  3. 然后添加 Fragments 作为目的地
  4. 我想要主细节导航,即开始目的地 -> 片段 2 后退按钮 -> 开始目的地开始目的地 -> 片段 2 -> 片段 3 -> 片段 4 后退按钮 -> 开始目的地

  5. 我的问题是我是否应该向这个图表添加任何连接?

  6. 我还需要一个菜单​​项,它只是注销函数调用而不是片段交换,因此我无法使用默认设置对其进行配置

    val navController = findNavController(R.id.main_nav_host_fragment)
    nav_view.setupWithNavController(navController)
    
    Run Code Online (Sandbox Code Playgroud)

而是必须使用

nav_view.setNavigationItemSelectedListener(this)

override fun onNavigationItemSelected(item: MenuItem): Boolean {
        // Handle navigation view item clicks here.
        when (item.itemId) {

            R.id.navSignOut -> {
                loginViewModel.logout()
            }
            else -> {
                val navController = findNavController(R.id.main_nav_host_fragment)
                navController.navigate(item.itemId)
            }
        }

        drawer_layout.closeDrawer(GravityCompat.END)
        return true
    }
Run Code Online (Sandbox Code Playgroud)

我还需要在带有导航抽屉的主应用程序活动上方(模态)显示登录活动。我可以使用导航图吗?如何使用?登录活动应该:在后退按钮上 -> 关闭应用程序,如果注销 -> 在主活动上方启动,如果登录则转到主活动

所以我有问题: 1. 我应该使用任何动作吗?2. …

navigation android navigation-drawer android-architecture-components

5
推荐指数
1
解决办法
2040
查看次数

导航组件 - 如何嵌套导航图?

我正在寻找 Android 中的导航组件示例,它将使用多个导航图,然后展示如何将它们嵌套在一起?你能举出任何例子或提示吗?这是 Android 中的新功能,只有简单的单活动示例与 NavHostFragment,但是如何使用多个导航图正确嵌套它们或从一个导航图切换到另一个。最佳做法是什么?

navigation android android-architecture-components

5
推荐指数
0
解决办法
441
查看次数

Android Studio-Instant App-清单合并错误

我的Android Studio即时应用项目遇到问题。如果我Manifest.xml在/ app目录中选择,然后选择合并清单,那么我会遇到这样的错误:

Merging Errors: Error: Attribute provider#android.arch.lifecycle.ProcessLifecycleOwnerInitializer@authorities value=(com.theminte.TheMinte.lifecycle-trojan) from AndroidManifest.xml:10:15-75 is also present at AndroidManifest.xml:25:13-68 value=(com.theminte.TheMinte.app.lifecycle-trojan). Suggestion: add 'tools:replace="android:authorities"' to <provider> element at AndroidManifest.xml:10:5-201 to override. app main manifest (this file), line 9
Run Code Online (Sandbox Code Playgroud)

比起我无法使用“默认活动”启动我的应用程序,我只能使用“项目构建配置”中选择的“无活动”来启动它。如何解决这个合并问题?

android manifest-merging android-instant-apps

5
推荐指数
1
解决办法
646
查看次数

SwiftUI:取消父视图上的 TapGesture

我在 SwiftUI 中有视图层次结构,例如

ParentView { 
//other views

ChildView().highPriorityGesture(TapGesture().onEnded {
                        print("Tap!")
                    })
// other views 
}self.gesture(tap)
Run Code Online (Sandbox Code Playgroud)

而且我想让父视图处理屏幕上的所有点击,尽管用户点击 ChildView 的情况。现在两个闭包都执行了。如何停止点击手势事件向上传播视图层次结构?

gesture uitapgesturerecognizer swiftui

5
推荐指数
1
解决办法
2953
查看次数

SwiftUI UITextView 包装器如何调整其内容大小以匹配父级

我有这样的 UITextView 包装器,它可以工作,但是当我将它放在 List 行中时。我希望它自动调整大小,即在这种情况下具有与父级匹配的宽度 List Row VStack { },以及根据文本长度自动调整大小的高度。文本应该换行。现在它几乎可以工作了,但是像 URL 这样的较长文本超出了可用的行宽。

List {
VStack(alignment: .leading) {
     if self.hasNote {
        TextView(text: text)

     }
}
struct TextView: UIViewRepresentable {

    // MARK: - Properties
    let text: String

    init(text: String) {
        self.text = text
    }

    func makeUIView(context: Context) -> UITextView {

        let textView = UITextView()
        //textView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
        textView.backgroundColor = UIColor.clear
        textView.isScrollEnabled = false
        textView.attributedText = self.attributedText
        textView.textContainer.lineBreakMode = .byWordWrapping
        //textView.layoutIfNeeded()
        textView.sizeToFit()
        return textView
    }

}
Run Code Online (Sandbox Code Playgroud)

更新

现在我有这样的东西,它确实适合父 SwiftUI 视图(列表中的行),但它不会包装文本(或根据内容大小垂直拉伸。如果滚动它会正确包装文本。另外,如果我设置 .frame(height: 500 …

uitextview swiftui uiviewrepresentable

5
推荐指数
0
解决办法
277
查看次数

Java - Switch语句和花括号

我有一个与switch-case块中的花括号相关的问题

 switch( conditon ) { 

   case val1: {
      // something 
   }
   break;
   case val2: {
      // something 
   }
   break; 
   default:
   break;  
}
Run Code Online (Sandbox Code Playgroud)

或类似的东西:

 switch( conditon ) { 

   case val1: {
      // something 
      break;
   }
   case val2: {
      // something 
      break;
   } 
   default:
   break;  
}
Run Code Online (Sandbox Code Playgroud)

AI知道这两个代码应该以相同的方式工作,但我认为这里存在一些不合理之处.由于断点应该导致从花括号块跳出,所以理论上第二个代码应该像这样顺利:1.断开跳出块2的路线.切换继续执行情况val2或默认导致在括号外没有任何break语句.

您建议使用哪个版本,它们是否真的以同样的方式工作?

java break switch-statement curly-brackets

4
推荐指数
1
解决办法
3563
查看次数

SwiftUI:DatePicker 是否可以在当前的其他时区显示日期/时间?

在 UIDatePicker 我们可以做这样的事情

datePicker.timeZone = TimeZone(secondsFromGMT: 5*60*60) 
Run Code Online (Sandbox Code Playgroud)

为了指定日期选择器的时区。

但是如何在 SwiftUI 的 DatePicker 中执行此操作,我找不到任何此类参数或修饰符。

datepicker uidatepicker swiftui

4
推荐指数
1
解决办法
827
查看次数