发表于: 2017-02-17 01:29:42

2 1187


今天做的事

重写了搜索部分,这次改写了指令与判定方法

明天计划

结束搜索部分

收获

有关指令

指令
link函数,操作dom,用来绑定事件,绑定作用域
link:function(scope,ele,attr)

 {

link内的内容为此指令的方法和

}
scope:{} 创建独立作用域
绑定策略
@
把当前属性做为字符串传递,还可以绑定来自外层scope的值,在属性值中插入{{}}即可
<div ng-controller="Me">
    <drink flavor="{{ctrlFlavor}}"></drink>
</div>
<script>
    angular.module("M",[])
        .controller("Me",function ($scope{
            $scope.ctrlFlavor="a"
        })
        .directive("drink",function () {
            return{
                restrict:"AE",
                scope:{
                    flavor:"@"
                },
                template:"<div>{{flavor}}</div>"
            }
        })
</script>

=

与父scope中的属性进行双向绑定
&
传递一个来自父scope的函数,稍后调用
controller:指令内部控制器,用来暴露出方法来调用
指令与控制器交互

scope.xx = attr.xx,使用自定义属性绑定数据

困惑

上午在没有决定改变逻辑的时候

想要添加点击事件,点击时将当前元素以{name:”“,type:1}的形式添加到一个数组中,如果再次点击时此数组中有这个对象就删掉,结果不可以
if($scope.searchData.indexOf({name:x.name,type:x.type})==-1){
    $scope.searchData.push({name:x.name,type:x.type})
}
var a =[{b:1,c:1},{b:1,c:1},{b:1,c:1}];
console.log(a.indexOf({b:1,c:1}));//-1
console.log({b:1,c:1}=={b:1,c:1})//fasle

indexOf是用于字符串,并不支持两个对象比较所以会一直返回-1,这两个对象虽然内容是一样的,但是并不相等


然后今天有个师弟提交审核,

九宫格他是每个元素写了一个id,我加了class直接ByClassName也可以达到同样效果,但是如果打印出来的话

九个变量组成的是数组,直接ByClassName获取的是HtmlCollecction,虽然在此情景下可以达到同样效果,但看下类型的话,后者其实为一个obj,这是为什么呢


返回列表 返回列表
评论

    分享到