返回顶部
首页 > 资讯 > 精选 >MVVMLight项目的绑定及使用方法是什么
  • 800
分享到

MVVMLight项目的绑定及使用方法是什么

2023-06-29 02:06:16 800人浏览 八月长安
摘要

这篇文章主要介绍“MVVMLight项目的绑定及使用方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“MVVMLight项目的绑定及使用方法是什么”文章能帮助大家解决问题。一、绑定: 

这篇文章主要介绍“MVVMLight项目的绑定及使用方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“MVVMLight项目的绑定及使用方法是什么”文章能帮助大家解决问题。

    一、绑定:

     主要包含元素绑定和非元素绑定两种。

    1、元素绑定:

    是绑定的最简单形式,源对象是WPF的元素,并且源对象的属性是依赖项属性。

    根据我们之前的知识 ,依赖项属性具有内置的更改通知支持。所以当我们的源对象中改变依赖项属性的值时,会立即更新目标对象中的绑定属性。

    以上篇的例子来重写,我们不用额外定义全局公开的属性来支持数据的显示。

    如下:

      <StackPanel Orientation="Vertical" HorizontalAlignment="Left" >         <TextBox x:Name="WelcomeText" Width="200" Margin="10,10,0,0"></TextBox>         <TextBlock Text="{Binding ElementName=WelcomeText,Path=Text,StringFORMat='Hello \{0\}'}" Margin="10,10,0,0"></TextBlock>  </StackPanel>

    MVVMLight项目的绑定及使用方法是什么

    TextBlock 绑定了名称为WelcomeText的元素,并且将Path指向Text属性,所以他的值会跟着 WelcomeText的变化而变化。

    2、非元素类型绑定: 

    2.1 Source属性:

    绑定具体的数据对象:如系统信息跟我们定义的资源数据。

    定义Window下的全局资源

         <Window.Resources>         <SolidColorBrush x:Key="BorderBrush">Red</SolidColorBrush>     </Window.Resources>

    应用到视图中

    <StackPanel Margin="10,50,0,0" Orientation="Vertical" >        <TextBlock Text="{Binding Source={x:Static SystemFonts.IconFontFamily},Path=Source}" ></TextBlock>        <TextBlock Text="{Binding Source={StaticResource BorderBrush}}" Foreground="{Binding Source={StaticResource BorderBrush}}"  ></TextBlock></StackPanel>

    结果:

    MVVMLight项目的绑定及使用方法是什么

    2.2 RelativeSource 属性:

    设置该属性 可以根据当前目标对象的相对关系指向源目标。比如获取当前对象的父亲对象、兄弟对象或者自身的其他属性等一些数据。

    <StackPanel Margin="10,50,0,0" Orientation="Vertical" ToolTip="top" >      <StackPanel Orientation="Horizontal" >          <TextBlock Width="150" Text="获取自身宽度:"  ></TextBlock>          <TextBlock Width="200" Text="{Binding Path=Width,RelativeSource={RelativeSource Mode=Self}}" ></TextBlock>      </StackPanel>      <StackPanel Orientation="Horizontal" ToolTip="parent" >          <TextBlock Width="150" Text="查找上一层ToolTip:" ></TextBlock>            <TextBlock Text="{Binding Path=ToolTip,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type StackPanel}}}"></TextBlock>      </StackPanel>      <StackPanel Orientation="Horizontal">          <TextBlock Width="150" Text="查找上二层ToolTip:" ></TextBlock>          <TextBlock Text="{Binding Path=ToolTip,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type StackPanel},AncestorLevel=2}}"></TextBlock>      </StackPanel>                               </StackPan>

     代码很容易理解,这边在创建RelativeSource的时候,mode模式有四种类型:

     Mode成员名称说明
     FindAncestor

    引用数据绑定元素的父链中的上级。 这可用于绑定到特定类型的上级或其子类。 若要指定 AncestorType 和/或 AncestorLevel,这就是应使用的模式。

     PreviousData

    允许在当前显示的数据项列表中绑定上一个数据项(不是包含数据项的控件)。

     Self

    引用正在其上设置绑定的元素,并允许你将该元素的一个属性绑定到同一元素的其他属性上。

     TemplatedParent

    引用应用了模板的元素,其中此模板中存在数据绑定元素。 这类似于设置 TemplateBindingExtension,且仅在 Binding 位于模板内部时适用。

    注意:AncestorType 指得是查找的对象类型,AncestorLevel 代表搜索的层级的位置,如果是3,则忽略前两个发现的元素。

    结果:

    MVVMLight项目的绑定及使用方法是什么

    2.3 DataContext 属性:

    如果想将一个对象绑定到一个由多个元素组成的视图块或者复合元素中,用DataContext 会更好开发和维护。如下

    <StackPanel Orientation="Vertical" DataContext="UInfo" >    <StackPanel Orientation="Horizontal" >        <TextBlock Text="名称:" Width="100" ></TextBlock>        <TextBox Text="{Binding Name}" Width="100" ></TextBox>    </StackPanel>    <StackPanel Orientation="Horizontal">        <TextBlock Text="性别:" Width="100" ></TextBlock>        <TextBox Text="{Binding Sex}" Width="100" ></TextBox>    </StackPanel></StackPanel>

    二、绑定的各种使用场景:

    数据绑定有普通的控件绑定应用:比如 下拉框、单选框、复选框、普通文本框 、日期框等;

    复杂的绑定有数据列表绑定,用户控件信息绑定等,比如 ListBox,DataGrid,UserControl绑定等。

    1、下拉框:

    View代码:

    <StackPanel Margin="10,20,0,50">  <TextBlock Text="下拉框" FontWeight="Bold" FontSize="12" Margin="0,5,0,5" ></TextBlock>  <DockPanel x:Name="Combbox" >                      <StackPanel DockPanel.Dock="Left" Width="240">          <ComboBox Width="200" HorizontalAlignment="Left" ItemsSource="{Binding CombboxList}" SelectedItem="{Binding CombboxItem}" DisplayMemberPath="Text" SelectedValuePath="Key" ></ComboBox>      </StackPanel>            <StackPanel DockPanel.Dock="Right" Width="240" Orientation="Horizontal" DataContext="{Binding CombboxItem}" >          <TextBlock Text="{Binding Key,StringFormat='结果:\{0\}'}" Margin="0,0,15,0" ></TextBlock>          <TextBlock Text="{Binding Text}"></TextBlock>      </StackPanel>        </DockPanel></StackPanel>

     Model代码:

     public class ComplexInfoModel:ObservableObject    {        private String key;        /// <summary>        /// Key值        /// </summary>        public String Key        {            get { return key; }            set { key = value; RaisePropertyChanged(()=>Key); }        }        private String text;        /// <summary>        /// Text值        /// </summary>        public String Text        {            get { return text; }            set { text = value; RaisePropertyChanged(()=>Text); }        }    }

     ViewModel代码:

            #region 下拉框相关         private ComplexInfoModel combboxItem;         /// <summary>         /// 下拉框选中信息         /// </summary>         public ComplexInfoModel CombboxItem         {             get { return combboxItem; }             set { combboxItem = value; RaisePropertyChanged(() => CombboxItem); }         }           private List<ComplexInfoModel> combboxList;         /// <summary>         /// 下拉框列表         /// </summary>         public List<ComplexInfoModel> CombboxList         {             get { return combboxList; }             set { combboxList = value; RaisePropertyChanged(()=>CombboxList); }         }         #endregio

    说明:CombboxItem是一个全局的属性,作用在当前页面的数据上下文中,结果显示的内容指向下拉框中的选中值,达到共用一个数据的目的。 

    这边有四个地方需要注意的:ItemsSource:数据源;SelectedItem:选中的项;DisplayMemberPath:绑定时显示的所属值;SelectedValuePath :绑定时候key的所属值。 

    结果:

    MVVMLight项目的绑定及使用方法是什么

    2、单选框

        <StackPanel Margin="10,0,0,50">         <TextBlock Text="单选框" FontWeight="Bold" FontSize="12" Margin="0,5,0,5" ></TextBlock>         <DockPanel x:Name="RadioButton" >             <StackPanel DockPanel.Dock="Left" Width="240">                 <RadioButton Content="{Binding SingleRadio}" IsChecked="{Binding IsSingleRadiocheck}" HorizontalAlignment="Right" Width="240" >                 </RadioButton>             </StackPanel>             <StackPanel DockPanel.Dock="Right" Width="240" Orientation="Horizontal">                 <TextBlock Text="{Binding IsSingleRadioCheck,StringFormat='结果:\{0\}'}" ></TextBlock>             </StackPanel>         </DockPanel>     </StackPanel>

    说明:注意这边使用到了两个属性: SingleRadio,IsSingleRadioCheck,一个用于显示单选框内容,一个用于表示是否选中

    结果:

    MVVMLight项目的绑定及使用方法是什么

    3、组合单选框

    我们一般会用单选框做组合表示唯一选项,比如性别包含男女,但是只能选择一个。而更多的场景是包含多个选项,但是只能单选的,这时候就需要做单选框组。

      <StackPanel Margin="10,0,0,50">       <TextBlock Text="组合单选框" FontWeight="Bold" FontSize="12" Margin="0,5,0,5"></TextBlock>       <DockPanel x:Name="GroupRadioButton" >           <StackPanel DockPanel.Dock="Left" Width="240">               <ItemsControl ItemsSource="{Binding RadioButtons}">                   <ItemsControl.ItemTemplate>                       <DataTemplate>                           <RadioButton Content="{Binding Content}" IsChecked="{Binding IsCheck}" GroupName="RadioButtons"                                        Command="{Binding DataContext.RadioCheckCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=ItemsControl}}">                             </RadioButton>                                                           </DataTemplate>                   </ItemsControl.ItemTemplate>               </ItemsControl>           </StackPanel>           <StackPanel DockPanel.Dock="Right" Width="240" Orientation="Horizontal">               <TextBlock Text="{Binding RadioButton.Content,StringFormat='结果:\{0\}'}" ></TextBlock>           </StackPanel>       </DockPanel>  </StackPanel

    这边使用了ItemsControl,可以根据模板来定义内容,我们在模板中放置我们需要用到的内容。这边需要注意的是:GroupName用一样的,来代表这是一个单选控件组合。

    这边有是三个属性进行绑定相关:

    RadioButtons:单选框列表数据(循环绑定);Content:单选框显示的内容;IsCheck:单选框的是否选中。 

    结果:

    MVVMLight项目的绑定及使用方法是什么

    4、复选框,复选框与单选框的使用情况类似:

    <StackPanel Margin="10,0,0,50">            <TextBlock Text="复合框" FontWeight="Bold" FontSize="12" Margin="0,5,0,5" ></TextBlock>            <DockPanel x:Name="GroupCheckButton" >                <StackPanel DockPanel.Dock="Left" Width="240">                    <ItemsControl ItemsSource="{Binding CheckButtons}" x:Name="cbt" >                        <ItemsControl.ItemTemplate>                            <DataTemplate>                                <CheckBox Content="{Binding Content}" IsChecked="{Binding IsCheck}"                                             Command="{Binding DataContext.CheckCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=ItemsControl}}"/>                            </DataTemplate>                        </ItemsControl.ItemTemplate>                    </ItemsControl>                </StackPanel>                <StackPanel DockPanel.Dock="Right" Width="240" Orientation="Horizontal">                    <TextBlock Text="{Binding CheckInfo,StringFormat='结果:\{0\}'}" ></TextBlock>                </StackPanel>            </DockPanel></StackPanel>

    结果:

    MVVMLight项目的绑定及使用方法是什么

    5、树形控件

    View代码:

    <StackPanel Margin="10,0,0,50">            <TextBlock Text="树" FontWeight="Bold" FontSize="12" Margin="0,5,0,5" ></TextBlock>            <DockPanel x:Name="TreeButton" >                <StackPanel DockPanel.Dock="Left" Width="240">                        <TreeView ItemsSource="{Binding TreeInfo}" x:Name="tree" BorderThickness="0">                        <TreeView.ItemTemplate>                            <HierarchicalDataTemplate ItemsSource="{Binding Children}">                                <TextBlock Text="{Binding nodeName}"/>                            </HierarchicalDataTemplate>                        </TreeView.ItemTemplate>                    </TreeView>                </StackPanel>                                <StackPanel DockPanel.Dock="Right" Width="240" Orientation="Horizontal" DataContext="{Binding SelectedItem,ElementName=tree}">                        <TextBlock Text="结果:"/>                    <TextBlock Text="{Binding NodeID,StringFormat='NodeID:\{0\}'}"  Margin="0,0,20,0"  />                    <TextBlock Text="{Binding NodeName,StringFormat='NodeName:\{0\}'}"/>                </StackPanel>                                </DockPanel></StackPanel>

    Model代码

      public class TreeNodeModel : ObservableObject     {         public string NodeID { get; set; }         public string NodeName { get; set; }         public List<TreeNodeModel> Children { get; set; }     }

    ViewModel代码

     #region 树控件        private List<TreeNodeModel> treeInfo;        /// <summary>        /// 树控件数据信息        /// </summary>        public List<TreeNodeModel> TreeInfo        {            get { return treeInfo; }            set { treeInfo = value; RaisePropertyChanged(()=>TreeInfo); }        }  #endregion

     结果:

    MVVMLight项目的绑定及使用方法是什么

    6、ListBox

    当我们需要用到循环的列表内容,并且模板化程度高的时候,建议使用ListBox来做绑定。

    View代码:

    <StackPanel Margin="10,0,0,50" Orientation="Vertical" >  <TextBlock Text="ListBox模板" FontWeight="Bold" FontSize="12" Margin="0,5,0,5" ></TextBlock>      <DockPanel >          <StackPanel HorizontalAlignment="Left" DockPanel.Dock="Left" >              <ListBox x:Name="lb" ItemsSource="{Binding ListBoxData}" Width="500" BorderThickness="0" >                  <ListBox.ItemsPanel>                      <ItemsPanelTemplate>                          <WrapPanel Width="{Binding ActualWidth,RelativeSource={RelativeSource AncestorType={x:Type ListBox}}}"/>                      </ItemsPanelTemplate>                  </ListBox.ItemsPanel>                  <ListBox.ItemTemplate>                      <DataTemplate>                          <StackPanel>                              <Image Source="{Binding Img}" Width="96" Height="96"/>                              <TextBlock HorizontalAlignment="Center" Text="{Binding Info}"/>                          </StackPanel>                      </DataTemplate>                  </ListBox.ItemTemplate>              </ListBox>          </StackPanel>          <StackPanel DockPanel.Dock="Right" DataContext="{Binding SelectedItem,ElementName=lb}" Margin="15" Orientation="Vertical" >              <TextBlock Text="{Binding Info,StringFormat='选中:\{0\}'}" ></TextBlock>          </StackPanel>      </DockPanel></StackPanel>

    ViewModel代码:

         #region ListBox 模板      private IEnumerable listBoxData;      /// <summary>      /// LisBox数据模板      /// </summary>      public IEnumerable ListBoxData      {          get { return listBoxData; }          set { listBoxData = value;RaisePropertyChanged(()=>ListBoxData); }      }      #endregion

    初始数据:

    private void InitListBoxList()     {      ListBoxData = new ObservableCollection<dynamic>(){        new { Img="/MVVMLightDemo;component/Images/1.jpg",Info="樱桃" },        new { Img="/MVVMLightDemo;component/Images/2.jpg",Info="葡萄" },        new { Img="/MVVMLightDemo;component/Images/3.jpg",Info="苹果" },        new { Img="/MVVMLightDemo;component/Images/4.jpg",Info="猕猴桃" },        new { Img="/MVVMLightDemo;component/Images/5.jpg",Info="柠檬" },     };

     结果:

    MVVMLight项目的绑定及使用方法是什么

    7、用户控件的集合绑定:

    ListBox的列表绑定远远不能满足我们实际工作中的需求,

    出于对灵活性、复用性以及代码精简的考虑,需要保证循环列表中的单个元素是独立的元素片段,类似WEB中的局部视图。 这时候,使用用户控件会好很多。

    我们先写一个用户控件,分别设置了他的样式和绑定的属性值,如下:

    <UserControl x:Class="MVVMLightDemo.Content.FruitInfoView"              xmlns="Http://schemas.microsoft.com/winfx/2006/xaml/presentation"              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"              xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"               xmlns:d="http://schemas.microsoft.com/expression/blend/2008"               mc:Ignorable="d"               d:DesignHeight="300" d:DesignWidth="300">     <Grid>         <Grid.Resources>             <Style TargetType="{x:Type StackPanel}">                 <Style.Triggers>                     <Trigger Property="IsMouseOver" Value="True">                         <Setter Property="RenderTransform">                             <Setter.Value>                                 <RotateTransform Angle="10"></RotateTransform>                             </Setter.Value>                         </Setter>                         <Setter Property="Background" Value="#3B9CFB" />                     </Trigger>                 </Style.Triggers>             </Style>         </Grid.Resources>                           <StackPanel Orientation="Vertical" Margin="10">             <Image Source="{Binding Img}" Width="96" Height="96" />             <TextBlock HorizontalAlignment="Center" Text="{Binding Info}"/>         </StackPanel>              </Grid></UserControl>

     在目标视图页面注册并使用:

    xmlns:Content="clr-namespace:MVVMLightDemo.Content"
    <StackPanel Margin="10,0,0,50" Orientation="Vertical" >                    <TextBlock Text="用户控件模板列表" FontWeight="Bold" FontSize="12" Margin="0,5,0,5" ></TextBlock>                    <StackPanel HorizontalAlignment="Left" Width="500" >                         <ItemsControl ItemsSource="{Binding FiList}" HorizontalAlignment="Left" >                            <ItemsControl.ItemTemplate>                                <DataTemplate>                                    <Content:FruitInfoView />                                </DataTemplate>                                                   </ItemsControl.ItemTemplate>                            <!-- 面板显示模板 -->                            <ItemsControl.ItemsPanel>                                <ItemsPanelTemplate>                                    <WrapPanel Orientation="Horizontal">                                    </WrapPanel>                                </ItemsPanelTemplate>                            </ItemsControl.ItemsPanel>                        </ItemsControl>                    </StackPanel></StackPanel>

      结果:

    MVVMLight项目的绑定及使用方法是什么

    关于“MVVMLight项目的绑定及使用方法是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网精选频道,小编每天都会为大家更新不同的知识点。

    --结束END--

    本文标题: MVVMLight项目的绑定及使用方法是什么

    本文链接: https://lsjlt.com/news/321855.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    猜你喜欢
    • MVVMLight项目的绑定及使用方法是什么
      这篇文章主要介绍“MVVMLight项目的绑定及使用方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“MVVMLight项目的绑定及使用方法是什么”文章能帮助大家解决问题。一、绑定: ...
      99+
      2023-06-29
    • MVVMLight项目的绑定及各种使用场景示例分析
      目录一、绑定:1、元素绑定:2、非元素类型绑定: 2.1 Source属性:2.2 RelativeSource 属性:2.3 DataContext 属性:二、绑定的各种...
      99+
      2024-04-02
    • springboot项目绑定域名的方法是什么
      要在Spring Boot项目中绑定域名,可以通过以下几种方法实现: 在应用的application.properties或app...
      99+
      2024-04-09
      springboot
    • MVVMLight项目之绑定在表单验证上的应用示例分析
      目录常见的表单验证机制有如下几种:验证交互的关系模式如图:下面详细描述下这三种验证模式  1、Exception 验证:2、ValidationRule 验证:3...
      99+
      2024-04-02
    • Python中类和对象的绑定及非绑定方法是什么
      类中定义的方法大致可以分为两类:绑定方法和非绑定方法。其中绑定方法又可以分为绑定到对象的方法和绑定到类的方法。一、绑定方法1 对象的绑定方法在类中没有被任何装饰器修饰的方法就是 绑定到对象的方法,这类方法专门为对象定制。class Pers...
      99+
      2023-05-19
      Python
    • MVVM和MVVMLight框架介绍及在项目中的使用详解
      一、MVVM 和 MVVMLight介绍 MVVM是Model-View-ViewModel的简写。类似于目前比较流行的MVC、MVP设计模式,主要目的是为了分离视图(View)和模...
      99+
      2024-04-02
    • Vue中mixins的使用方法及实际项目应用是什么
      这篇文章主要介绍了Vue中mixins的使用方法及实际项目应用是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Vue中mixins的使用方法及实际项目应用是什么文章都会有所收获,下面我们一起来看看吧。(1)...
      99+
      2023-07-05
    • vue3项目中keepAlive的使用方法是什么
      vue3项目中keepAlive的使用方法是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。keepalive是Vue的内置组件,作用是将组件缓存在内存当中,...
      99+
      2023-06-22
    • 虚拟云主机绑定子目录的方法是什么
      虚拟云主机绑定子目录的方法可以通过以下步骤实现:1. 登录到云主机的管理后台,进入虚拟主机的控制面板。2. 找到域名管理或者虚拟主机...
      99+
      2023-09-18
      虚拟云主机
    • javascript绑定事件的方法是什么
      本篇内容介绍了“javascript绑定事件的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!绑定...
      99+
      2024-04-02
    • python中的非绑定方法是什么
      本篇内容介绍了“python中的非绑定方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!说明给类中的一个函数加上装饰器@staticm...
      99+
      2023-06-20
    • dropdownlist绑定数据的方法是什么
      可以使用以下方法绑定数据到一个下拉列表(dropdownlist)中:1. 使用数据绑定表达式(Data Binding Expre...
      99+
      2023-09-20
      dropdownlist
    • winform数据绑定的方法是什么
      在WinForms中,数据绑定可以通过以下几种方法来实现:1. 使用DataBindings属性:可以将控件的属性与数据源的属性进行...
      99+
      2023-10-10
      winform
    • Blazor数据绑定的方法是什么
      本篇内容介绍了“Blazor数据绑定的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Blazor当中, 类似实现了WPF的基础绑定...
      99+
      2023-06-29
    • redis绑定域名的方法是什么
      Redis不能直接绑定域名,因为Redis是一个基于网络协议的内存数据库。Redis可以通过IP地址和端口进行访问。如果想要通过域名...
      99+
      2023-09-04
      redis
    • 域名绑定ip的方法是什么
      域名绑定ip的方法:1、进入域名代理商网站,登录到域名管理控制台;2、点击域名管理选项;3、选择管理需要绑定ip的域名;4、点击域名...
      99+
      2023-02-08
      域名绑定ip 域名
    • wpf双向绑定的方法是什么
      WPF(Windows Presentation Foundation)中的双向绑定是一种机制,可以在界面控件和数据对象之间实现双向...
      99+
      2023-08-08
      wpf
    • tomcat绑定域名的方法是什么
      要将Tomcat绑定到特定的域名,可以通过以下步骤操作: 打开Tomcat的配置文件server.xml,通常位于Tomcat安...
      99+
      2024-04-09
      tomcat
    • Assert.assertEquals的使用方法及注意事项是什么
      这篇文章主要介绍了Assert.assertEquals的使用方法及注意事项是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Assert.assertEquals的使用方法及注意事项是什么文章都会有所收获,...
      99+
      2023-06-30
    • vue-cli是什么及创建vue-cli项目的方法
      目录1.什么是 vue-cli2.安装 vue-cli3.解决 Windows PowerShell 不识别 vue 命令的问题4.创建项目 vue-cli4.1 基于 vue ui...
      99+
      2023-05-16
      vue-cl创建项目 vue-cl是什么
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作