精华内容
下载资源
问答
  • 传值调用 传值调用 传值调用传值调用 传值调用 传值调用
  • 普通传值正向传值

    2015-10-31 10:40:50
    普通传值,正向传值,直接把值传到下个视图
  • leanModal传值

    2017-07-24 13:43:27
    leanModal传值 leanModal传值
  • iOS开的常见8中传值(初始化传值,代理传值,属性传值,代理传值,block传值,通知传值,NSuserDefault传值,AppDelegate传值)
  • Vue2.0 传值方式:在Vue的框架开发的项目过程中,经常会用到组件来管理不同的功能,有一些公共的组件会被提取出来。这时必然会产生一些疑问和需求?比如一个组件调用另一个组件作为自己的子组件,那么我们如何进行给...

    Vue2.0 传值方式:

    在Vue的框架开发的项目过程中,经常会用到组件来管理不同的功能,有一些公共的组件会被提取出来。这时必然会产生一些疑问和需求?比如一个组件调用另一个组件作为自己的子组件,那么我们如何进行给子组件进行传值呢?如果是电商网站系统的开发,还会涉及到购物车的选项,这时候就会涉及到非父子组件传值的情况。当然你也可以用Vuex状态管理工具来实现,这部分我们后续会单独介绍。我先给大家介绍Vue开发中常用的三种传值方式。

    Vue常用的三种传值方式有:

    • 父传子

    • 子传父

    • 非父子传值


    引用官网的一句话:父子组件的关系可以总结为 prop 向下传递,事件向上传递。父组件通过 prop 给子组件下发数据,子组件通过事件给父组件发送消息,如下图所示:

    这里写图片描述

    接下来,我们通过实例来看可能会更明白一些:

    1. 父组件向子组件进行传值

    这里写图片描述

    父组件:

    <template>
      <div>
        父组件:
        <input type="text" v-model="name">
        <br>
        <br>
        <!-- 引入子组件 -->
        <child :inputName="name"></child>
      </div>
    </template>
    <script>
      import child from './child'
      export default {
        components: {
          child
        },
        data () {
          return {
            name: ''
          }
        }
      }
    </script>

    子组件:

    <template>
      <div>
        子组件:
        <span>{{inputName}}</span>
      </div>
    </template>
    <script>
      export default {
        // 接受父组件的值
        props: {
          inputName: String,
          required: true
        }
      }
    </script>

    2. 子组件向父组件传值

    这里写图片描述

    子组件:

    <template>
      <div>
        子组件:
        <span>{{childValue}}</span>
        <!-- 定义一个子组件传值的方法 -->
        <input type="button" value="点击触发" @click="childClick">
      </div>
    </template>
    <script>
      export default {
        data () {
          return {
            childValue: '我是子组件的数据'
          }
        },
        methods: {
          childClick () {
            // childByValue是在父组件on监听的方法
            // 第二个参数this.childValue是需要传的值
            this.$emit('childByValue', this.childValue)
          }
        }
      }
    </script>

    父组件:

    <template>
      <div>
        父组件:
        <span>{{name}}</span>
        <br>
        <br>
        <!-- 引入子组件 定义一个on的方法监听子组件的状态-->
        <child v-on:childByValue="childByValue"></child>
      </div>
    </template>
    <script>
      import child from './child'
      export default {
        components: {
          child
        },
        data () {
          return {
            name: ''
          }
        },
        methods: {
          childByValue: function (childValue) {
            // childValue就是子组件传过来的值
            this.name = childValue
          }
        }
      }
    </script>

    3. 非父子组件进行传值

    非父子组件之间传值,需要定义个公共的公共实例文件bus.js,作为中间仓库来传值,不然路由组件之间达不到传值的效果。

    公共bus.js

    //bus.js
    import Vue from 'vue'
    export default new Vue()

    组件A:

    <template>
      <div>
        A组件:
        <span>{{elementValue}}</span>
        <input type="button" value="点击触发" @click="elementByValue">
      </div>
    </template>
    <script>
      // 引入公共的bug,来做为中间传达的工具
      import Bus from './bus.js'
      export default {
        data () {
          return {
            elementValue: 4
          }
        },
        methods: {
          elementByValue: function () {
            Bus.$emit('val', this.elementValue)
          }
        }
      }
    </script>

    组件B:

    <template>
      <div>
        B组件:
        <input type="button" value="点击触发" @click="getData">
        <span>{{name}}</span>
      </div>
    </template>
    <script>
      import Bus from './bus.js'
      export default {
        data () {
          return {
            name: 0
          }
        },
        mounted: function () {
          var vm = this
          // 用$on事件来接收参数
          Bus.$on('val', (data) => {
            console.log(data)
            vm.name = data
          })
        },
        methods: {
          getData: function () {
            this.name++
          }
        }
      }
    </script>

    ☺ Vue三种常用的传值方式就介绍完了,如果有什么不明白的,可以在评论区留言哦!

    展开全文
  • 逆向传值之NSUserDefaultvALUE传值
  • react 组件相互之间的传值传值分父级组件传值给子组件 子组件传值给父组件 平级组件、没有嵌套的组件相互传值 1.父组件向子组件传值 父组件通过属性的形式来向子组件传值,子组件通过props来接受父组件传递过来...
  • 主要为大家介绍了drupal的url传值和表单传值,以实例形式较为详细的分析了drupal的URL传值与表单传值的具体实现方法,是采用drupal建站中非常实用的技巧,需要的朋友可以参考下
  • url传值:将本页面的值传到下一个页面。 比如:将值id从a页面传到b页面,b页面接收到后,如果需要将值id再传到c页面,就需要再传一次,在c页面再接收一次。(有点麻烦吧,Session传值就不会这样,它可以直接跨页面...

    url传值:将本页面的值传到下一个页面。

    比如:将值id从a页面传到b页面,b页面接收到后,如果需要将值id再传到c页面,就需要再传一次,在c页面再接收一次。(有点麻烦吧,Session传值就不会这样,它可以直接跨页面接收)

    Session传值:跨页面传值,任何页面都可以获取定义好的Session。

    当然session也有一定的缺点,比较消耗资源,需要的时候再使用,用的最多的是登录的时候。

    ViewState传值:浏览器保存机制,不能跨页面,只在本页面使用。感觉和变量有点像,但是变量会局限在一个类或方法里,viewstate在页面里。

    那么viewstate和全局变量相比呢?

    全局变量在刷新的时候会刷新,就会被重新赋值。而viewstate是浏览器保存机制,会一直保存页面状态。

    展开全文
  • 逆向传值之单例传值

    2014-09-06 22:20:56
    逆向传值 之单例传值 面试经常考的考点之一
  • 最简单的实现带你完全理解界面传值的2种方式,属性传值和单例传值,至于其它传值方式,请留意更新。
  • 传值:协议传值、Block传值 、StroyBoard属性传值

    1. 协议传值:

         1: 指定协议
         2: 定一个代理人对象属性,只有实现了上面定义的协议方法的对象,才能成为第二个页面的代理人
        3: 让自己的代理人(delegate)去执行协议方法
        4: 签订协议
      5把自己设置为第二个页面的代理人
      6实现方法

      UI协议常用的单词   will  did  should
    使用系统的协议  
         1、签订协议:UIAlertViewDelegate 
         2、指定代理人:一般来说是self  
         3、实现协议方法

    2.StroyBoard属性传值
    StoryBoard----注意事项
    初始化在下面的方法里写
    -(void)awakeFromNib
    {
         
    }


    第一步:
    在故事板中点击右图所示的两个viewcontroller之间的小按钮segue


    第二步:
    在右侧设置segue的identifier



    第三步:
    在下面的方法中实现传值。

    - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
    {
        
    //在导航控制器推出一个新的控制器之前  调用这个方法
        
    NSLog(@"segue name:%@", segue.identifier);
        
        
    if ([segue.identifier isEqualToString:@"bigCup"]) {
            
    //获取下一个页面的对象
            
    UIViewController *viewVC = segue.destinationViewController;
            viewVC.
    title = @"bigCup";
            viewVC.
    view.backgroundColor = [UIColor magentaColor];
        }
        
        
    // Get the new view controller using [segue destinationViewController].
        
    // Pass the selected object to the new view controller.
        
    }



    3.block传值
    1.在第一个页面实现一个block,在第二个页面设置一个相同类型的block属性(如果一个block变量作为一个类的属性, 必须要使用copy修饰
    2.按照属性传值的方式把block给第二个页面
    3.第二个页面在适合的适合调用block

    为什么block作为属性要用copy
    block1在全局区
    如果在block的代码中,使用了block以外的变量,系统会把block指针转移到栈区。
    使用copy属性赋值之后, block就会被系统转移到堆区。
    堆区的内存是我们自己管理的,而栈区是系统管理的



    //block语法
    //1.无参无返回值

    //返回值类型  (^block名称) (参数类型  参数名) = ^(参数类型  参数名){};
    void(^block1)(void) = ^(void){
        
    NSLog(@"aaa");
    };
    //block的调用`
    block1();

    //2.有参数无返回值
    void(^block2)(int a, NSString *string) = ^(int a, NSString *string){
        
    NSLog(@"%d %@", a, string);
    };

    block2(
    6@"sb");

    //3.无参有返回值
    int(^block3)(void) = ^(void){
        
    return 10;
    };
    int a = block3();
    NSLog(@"%d", a);
    //4.有参有返回值
    NSString *(^block4)(NSString *title) = ^(NSString *title){
        
    return [title stringByAppendingString:@" sb"];
    };
    NSLog(@"%@", block4(@"hehe"));
    展开全文
  • 组件传值 A.父组件传值给子组件: 基本原理为:props方法 基本写法:例如-父组件对应 Home.vue ;子组件对应 HomeChild.vue 父组件: 1.首先父组件引入子组件,并且注册子组件: improt HomeChild from './...
  • 通过block传值
  • iOS常用传值方法之属性传值,代理传值

    1.属性传值

    属相传值一般从前向后,即从A到B,要传什么类型值,就在B页面定义什么样的属性

    如要将一个字符串从A传到B,就在B页面设置以下属相

    @property(nonatomic,retain) NSString *str ;//接受的值

    在A控制器跳转方法内实现

    - (void)showSecondView:(UIButton*)btn{
    SecondViewController *VC = [[SecondViewController alloc] init];
    VC.str =@"我是属性传值";
    [self presentViewController:VC animated:YES completion:nil];
    }
    属性传值,比较简单,也非常常用

    2.delegate


     在页面B设置协议及方法          

    //SecondViewController.h
    //设置代理@protocol secondViewDelegate//代理方法(为防止循环引用用weak修饰)
    -(void)showMessage:(NSString *)messageStr;
    @end
    //SecondViewController.h
    @interface SecondViewController : UIViewController
    @property (nonatomic, weak)id<secondViewDelegate> delegate;
    @end
       调用
    //SecondViewController.m
    - (void)backFirst:(UIButton*)btn{
    [self.delegate showMessage:@"我是代理传值"];
    [self dismissViewControllerAnimated:YES completion:nil];

    }
    在页面A显示  
    -(void)showName:(NSString *)messageStr{
    NSLong(@"%@",messageStr);
    }

    展开全文
  • storyboard 传值

    2013-12-20 17:00:29
    storyboard 传值 互相传值 页面传值 ios iphone开发
  • 构造函数,借助构造函数 解释 【赋值传值】,【引用传值】,【指针传值
  • iOS传值二block传值,通知传值

    千次阅读 2016-08-10 10:42:48
    iOSblock传值和通知传值
  • js实现页面与页面之间传值, js利用地址栏URL传值, 利用H5 Web 存储 传值, 利用JavaScript Cookie存储 传值
  • 窗体传值,或者是子类向父类传值。主窗体通过重写拦截消息方法,以接收子类传来的值。 窗体传值,或者是子类向父类传值。主窗体通过重写拦截消息方法,以接收子类传来的值。
  • 静态传值 我们在在vue中写一个子组件,并设置 props,props是一个数组,可以存多个值,每个值都相当于一个属性,所以当我们需要向子组件传值的时候可以在组件标签中直接设置响应属性的值。 <body> <div id...
  • Intent传值和Bundle传值

    千次阅读 2018-10-10 14:16:50
    Android 为我们提供了两个比较常用的传值对象:Intent 和 Bundle ; 用途:一般情况下,我们在 Activity 中传值用 Intent ,而在 Fragment 中传值用 Bundle; 1. Intent 传值(Activity 中使用) 下面就来先看 ...
  • 1、从主窗口传值到弹出层 2、从弹出层传值到主窗口 1、从主窗口传值到弹出层 首先时js changefileone函数时按钮绑定事件,按钮点击后调用这个函数然后弹出弹出层,加载changefile.html界面 然后success提前加载...
  • 本篇文章是对android中Intent传值与Bundle传值的区别进行了详细的分析介绍,需要的朋友参考下
  • iOS 传值方法(属性传值、代理传值、Block、通知、单例)
  • 前后台传值

    2016-09-25 21:36:11
    传值
  • iOS开发 逆向传值之代理传值
  • 主要介绍了Vue父子模版传值及组件传值的三种方法,需要的朋友可以参考下
  • php页面传值php页面传值php页面传值php页面传值php页面传值php页面传值php页面传值php页面传值php页面传值php页面传值php页面传值php页面传值php页面传值php页面传值

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 72,418
精华内容 28,967
关键字:

传值