发表于: 2017-07-10 09:34:21

2 940


昨天忘了占坑了,今天补上吧;

完成的事情:重构了任务10的按时间和状态以及类型搜索部分;学会了constant的写法

明天计划的事情:完成翻页部分指令的编写,以及新增页面的功能。

遇到的问题:指令中好像获取不到双向绑定的内容,也无法给页面赋值,不知道什么原因,我没有用scope,用的controller as;


这是指令的html页面

这就是指令的js页面

可能的原因:这次我使用了controller as的写法,上次用的是$scope的写法

收获:常量的写法

myApp.constant("searchConstant",{

type:[

{name:"首页banner",id:0},

{name:"找职位banner",id:1},

{name:"找精英banner",id:2},

{name:"行业大图",id:3},

],

status:[

{name:"草稿",id:1},

{name:"上线",id:2},

]

})

angularjs中指令的scope

当AngularJS指令创建时面临的一个问题就是作用域的创建,也就是指令的scope。

angularjs提供了三种选择,体现在定义指令时的scope参数上,true,false,{}. 默认false;

scope = false

可以理解为继承了父作用域中的属性方法,或者说也许他们就是同一个作用域。不管哪边发生变化,另一边都会发生变化。

scope = true

可以理解为指令创建了一个新的作用域,并且使用父scope中的值初始化了其中的值,而这个可以一直持续到你去改变指令scope中变量de值。

scope = {}

当我们将scope设置为{}时,意味着我们创建的一个新的与父作用域隔离的新的作用域,这使我们在不知道外部环境的情况下,就可以正常工作,不依赖外部环境。

使用了隔离的作用域,不代表我们不可以使用父作用域的属性和方法。我们可以通过向scope的{}中传入特殊的前缀标识符(即prefix),来进行数据的绑定。

@

这是一个单项绑定的前缀标识符

使用方法: @myName驼峰写法对应my-name属性中的{{name}},  {{}}不可少,name是父scope中的模型

注意,属性的名字要用-将两个单词连接

=

这是一个双向数据绑定前缀标识符

使用方法:写法和上面差不多,不需要{{}}

&

这是一个绑定函数方法的前缀标识符

使用方法: 需要注意的是属性值写成调用方法的形式,change="changeAge()"



返回列表 返回列表
评论

    分享到