angularjs1.5 组件内用函数向外传值

本文介绍了如何在AngularJS 1.5的组件中通过函数将内部数据传递到组件外部的控制器。示例中,`homeCityListCom`组件通过`cityname`绑定调用控制器的`cityName`函数,将城市名称存入本地存储。在控制器`cityListCtrl`中定义了`cityName`函数,用于接收并打印城市名。
摘要由CSDN通过智能技术生成

组件:

.component('homeCityListCom',{
     bindings: {
        list: '<',
        cityname:'&'
    },
    controllerAs: 'vm',
    template:
    `
    <div class="cityListBox">
        <span class="title">按拼音首字母选择</span>
        <div class="cityItem flexRowStart" ng-repeat="x in vm.list track by $index">
            <p class="zimu flexColumnCenter">{{x.sortName}}</p>
            <ul class="flexRowStart city">
                <li ng-repeat="c in x.cities"><a  href="/#!/home?city_id={{c.cityId}}" ng-click="vm.cityname({name: c.cityName})">{{c.cityName}}</a></li>
            </ul>
        </div>
    </div>`
})

控制器:

.controller('cityListCtrl', ['$scope','$http', function ($scope,$http) {
    let that = this;
    // 将城市名字存在本地
    that.cityName = function(name){
        console.log(123);
        localStorage.setItem('cityName', name);
    }

}])

使用组件:

<home-city-list-com list="cl.cityList" cityname="cl.cityName(name)"></home-city-list-com>

路由设置:

  .state('city_list',{
            url:"/city_list",
            templateUrl:'templates/indexTpl/city_list.html',
            controllerAs:'cl',
            controller:'cityListCtrl'
        })

在C++中,回调函数内如何传值到回调函数可以通过以下两种方法实现: 方法一:使用函数参数传递值。在回调函数的参数列表中添加需要传递的值,并在调用回调函数时传入相应的参数。例如: ```c++ typedef void (*CallbackFunc)(int value); // 定义回调函数类型 void callback(int value) // 回调函数 { // 在回调函数内部使用传入的value值 // ... } void doSomething(CallbackFunc cb) // 接受回调函数作为参数的函数 { int value = 10; // 需要传递的值 cb(value); // 调用回调函数并传入值 } int main() { doSomething(callback); // 传入回调函数 return 0; } ``` 方法二:使用类的成员变量来传递值。在定义回调函数时,将回调函数设置为类的静态成员函数,并在类内部设置一个静态成员变量,用于存储需要传递的值。在回调函数中,可以通过访问该静态成员变量来获取传递的值。例如: ```c++ class MyClass { static int value; // 静态成员变量用于传递值 static void callback(); public: static void setValue(int val) { value = val; // 设置需要传递的值 } static void doSomething() { callback(); // 调用回调函数 } }; int MyClass::value = 0; // 初始化静态成员变量 void MyClass::callback() { // 在回调函数内部使用静态成员变量value // ... } int main() { MyClass::setValue(10); // 设置传递的值 MyClass::doSomething(); // 执行回调函数 return 0; } ``` 通过上述方法,可以在C++中实现回调函数内的值传递。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值