• 限定$scope的范围

    限定$scope的范围

    Javascript基于原型的继承与面向对象中基于类的继承有着微妙的区别,这通常不是什么问题,但这个微妙之处在使用$scope时就会表现出来。在AngularJS中,每个$scope都会继承父$scope,最高层称之为$rootScope。($scope与传统指令有些不同,它们有一定的作用范围i,且只继承显式声明的属性。)

    由于原型继承的特点,在父类和子类间共享数据不太重要,不过如果不小心的话,也很容易误用了一个父$scope的属性。

    比如说,我们需要在一个导航栏上显示一个用户名,这个用户名是在登录表单中输入的,下面这种尝试应该是能工作的:

    1
    2
    3
    4
    5
    6
    7
    < div ng-controller = "navCtrl" >
        < span >{{user}}</ span >
        < div ng-controller = "loginCtrl" >
             < span >{{user}}</ span >
             < input ng-model = "user" ></ input >
        </ div >
    </ div >

    那么问题来了……:在text input中设置了user的ng-model,当用户在其中输入内容时,哪个模版会被更新?navCtrl还是loginCtrl,还是都会?

    如果你选择了loginCtrl,那么你可能已经理解了原型继承是如何工作的了。

    当你检索字面值时,原型链并不起作用。如果navCtrl也同时被更新的话,检索原型链是必须的;但如果值是一个对象,这就会发生。(记住,在Javascript中,函数、数组和对象都是对象)

    所以为了获得预期的行为,需要在navCtrl中创建一个对象,它可以被loginCtrl引用。

    1
    2
    3
    4
    5
    6
    7
    <div ng-controller= "navCtrl" >
        <span>{{user.name}}</span>
        <div ng-controller= "loginCtrl" >
             <span>{{user.name}}</span>
             <input ng-model= "user.name" ></input>
        </div>
    </div>

    现在,由于user是一个对象,原型链就会起作用,navCtrl模版和$scope和loginCtrl都会被更新。

    这看上去是一个很做作的例子,但是当你使用某些指令去创建子$scope,如ngRepeat时,这个问题很容易就会产生。

    相关文章
    相关标签/搜索
    白小姐期期准开奖结果管家婆王中王开奖王,管家婆铁算盘一句解特,2019香港开奖结果记录,2019六开彩开奖结果,4887铁算盘资料 景洪市| 台中县| 天长市| 康乐县| 青冈县| 喀喇| 霍城县| 锦州市| 林州市| 东源县| 上高县| 莎车县| 郓城县| 招远市| 灵寿县| 资讯| 溧阳市| 广元市| 界首市| 天等县| 新巴尔虎左旗| 赤城县| 甘孜| 涡阳县| 襄垣县| 景泰县| 廊坊市| 合阳县| 望谟县| 丹棱县| 新和县| 太谷县| 黎川县| 嘉鱼县| 洪洞县| 泗阳县| 太湖县| 昭苏县| 驻马店市| 广元市| 台南市| 万盛区| 黎川县| 赣榆县| 和田市| 汤原县| 会理县| 广水市| 贵港市| 忻城县| 嘉祥县| 九江县| 江城| 曲松县| 贺州市| 秦安县| 托里县| 逊克县| 扶沟县| 东城区| 泸溪县| 麻栗坡县| 调兵山市| 尤溪县| 姜堰市| 双城市| 庄浪县| 浦江县| 宁明县| 普陀区| 潜山县| 咸宁市| 灌南县| 富平县| 深泽县| 云霄县| 岑巩县| 监利县| 新乡县| 峨山| 通城县| 健康| 杨浦区| 鹰潭市| 中宁县| 荔浦县| 温宿县| 双牌县| 涟水县| 河北省| 荆州市| 利辛县| 金华市| 修水县| 桑日县| 固始县| 云龙县| 大港区| 盐山县| 安庆市| 清流县| 会昌县| 长春市| 建德市| 南召县| 西乌珠穆沁旗| 宜阳县| 黑龙江省| 新建县| 鹤峰县| 会同县| 旬邑县| 乌鲁木齐市| 镇赉县| 广东省| 靖西县| 和平县| 利辛县| 华亭县| 德化县| 当雄县| 信丰县| 丰宁| 五华县| 五台县| 永平县| 正安县| 延安市| 永靖县| 古浪县| 金塔县| 漯河市| 宿州市| 文安县| 彭州市| 定西市| 濮阳县| 都兰县| 正蓝旗| 上饶市| 勐海县| 基隆市| 平乡县| 古浪县| 察雅县| 黄冈市| 图片| 阿拉善右旗| 安塞县| 临湘市| 都江堰市| 黑水县| 台中县| 虎林市| 余干县| 宿州市| 鸡西市| 凉山| 仙游县| 肥城市| 乡宁县| 阿城市| 英吉沙县| 庄河市| 大厂| 高阳县| 凤城市| 胶州市| 南康市| 景洪市| 克什克腾旗| 大城县| 汾阳市| 丰台区| 台江县| 通州市| 新龙县| 宁安市| 安龙县| 木兰县| 信丰县| 驻马店市| 确山县| 高密市| 南部县| 寻乌县| 英吉沙县| 海阳市| 金湖县| 同心县| 信宜市| 台湾省| 罗定市| 三穗县| 迁安市| 绥宁县| 扎囊县| 迭部县| 咸宁市| 谷城县| 北票市| 徐水县| 通州区| 姚安县| 仪征市| 宁陕县| 青田县| 定结县| 河北区| 龙南县| 丰都县| 张家港市| 卓资县| 濉溪县| 莱西市| 沾益县| 东源县| 莱芜市| 沛县| 金湖县| 镇康县| 霍州市| 安远县| 禄丰县| 南京市| 双鸭山市| 长春市| 肥乡县| 大余县| 兴和县| 永清县| 墨脱县| 沂源县| 阿巴嘎旗| 沂源县| 墨脱县| 庄河市| 永安市| 来凤县| 子洲县| 扶余县| 呈贡县| 漾濞| 百色市| 枣庄市| 明溪县| 梨树县| 灵武市| 钟山县| 涞源县| 西畴县| 闵行区| 东兰县| 潜江市| 桑日县| 遵化市| 东宁县| 南雄市| 开阳县| 静宁县| 伊宁县| 聂荣县| 辉县市| 亳州市| 海淀区| 荥阳市| 清徐县| 栖霞市| 都兰县| 庆安县| 舞阳县| 威远县| 昭平县| 蒙山县| 丹寨县| 瓮安县| 柳州市| 耒阳市| 嘉禾县| 罗江县| 上犹县| 平利县| 和龙市| 雷波县| 保定市| 鹤壁市| 宾阳县| 汕尾市| 清镇市| 祥云县| 库车县| 阳东县| 古田县| 镇沅| 漠河县| 临漳县| 水城县| 友谊县| 东安县| 西吉县| 赞皇县| 尚义县| 锦州市| 乐清市| 夏邑县| 田林县| 偃师市| 黑山县| 城步| 新巴尔虎右旗| 大关县| 兴和县| 施秉县| 长海县| 巴东县| 崇阳县| 德昌县| 长子县| 辽宁省| 福清市| 桂东县| 通化县| 乌什县| 万州区| 东台市| 神池县| 广宁县| 九台市| 赫章县| 海伦市| 尚志市| 乌兰察布市| 泸溪县| 曲水县| 孝义市| 通化县| 宝山区| 连城县| 辛集市| 夹江县| 集贤县| 洪雅县| 屯留县| 团风县| 广河县| 四子王旗| 万荣县| 南安市| 霞浦县| 开原市| 金秀| 渭南市| 宝鸡市| 新丰县| 淳安县| 贺兰县| 凤城市| 宜宾县| 朔州市| 公安县| 呼图壁县| 巫溪县| 六枝特区| 临洮县| 宣化县| 花莲市| 大方县| 平原县| 永清县| 普格县| 克拉玛依市| 泽库县| 沾化县| 湘阴县| 台北市| 岚皋县| 库车县| 无极县| 木里| 鹤庆县| 祁东县| 竹山县| 依兰县| 徐闻县| 葫芦岛市| 陕西省| 罗源县| 高雄县| 江源县| 罗田县| 综艺| 安图县| 闽清县| 章丘市| 龙陵县| 千阳县| 达尔| 滨海县| 门头沟区| 衡阳县| 乌拉特后旗| 突泉县| 广南县| 平遥县| 荔浦县| 砚山县| 包头市| 阿鲁科尔沁旗| 洞口县| 蕉岭县| 东至县| 潞西市| 姚安县| 石门县| 郴州市| 宁津县| 宝应县| 泊头市| 郑州市| 邯郸市| 东阳市| 青州市| 璧山县| 扎兰屯市| 静乐县| 通许县| 阜宁县| 岳西县| 林西县| 泾川县| 绵阳市| 延庆县| 新宁县| 温泉县| 高邑县| 胶州市| 大足县| 左权县| 巴林右旗| 嘉鱼县| 隆回县| 开阳县| 隆林| 永定县| 呼玛县| 平罗县| 老河口市| 阿瓦提县| 壤塘县| 北安市| 花莲县| 泗水县| 陆良县| 耿马| 西乌| 盐津县| 富川| 大英县| 仙桃市| 阜宁县| 静乐县| 镇沅| 宜章县| 苏尼特右旗| 镇康县| 偏关县| 日照市| 陆良县| 洛南县| 嘉荫县| 商水县| 黎川县| 青州市| 枝江市| 修武县| 平阴县| 安图县| 陵川县| 玛曲县| 正宁县| 西充县| 阿巴嘎旗| 永兴县| 桃园市| 开平市| 鄯善县| 昌黎县| 北安市| 含山县| 郎溪县| 鹤壁市| 桓台县| 青冈县| 滦平县| 绥宁县| 六安市| 许昌县| 沙河市| 乐安县| 且末县| 襄垣县| 法库县| 云霄县| 定陶县| 建昌县| 类乌齐县| 竹北市| 开阳县| 建瓯市| 潍坊市| 黄大仙区| 长宁县| 神池县| 仪陇县| 柳河县| 桂林市| 保亭| 秦安县| 永和县| 司法| 海晏县| 达日县| 麻江县| 宜章县| 涟水县| 大厂| 昆明市| 长春市| 揭西县| 安龙县| 天祝| 丹寨县| 集贤县| 新乡市| 双柏县| 武强县| 宿松县| 庆安县| 邹平县| 鹤山市| 桂阳县| 铅山县| 博客| 自治县| 紫阳县| 眉山市| 临沂市| 宜良县| 双鸭山市| 北辰区| 高碑店市| 衢州市| 金寨县| 龙江县| 江华| 老河口市| 石狮市| 山阳县| 六盘水市| 保靖县| 宁晋县| 渝中区| 东宁县| 丹江口市| 大城县| 高青县| 偃师市| 绥化市| 安泽县| 昌平区| 灵武市| 麻江县| 华坪县| 凤凰县| 涞源县| 汉阴县| 濮阳县| 澎湖县| 嘉祥县| 全州县| 青龙| 承德县| 花垣县| 昌都县| 银川市| 阿合奇县| 康马县| 城口县| 郑州市| 永吉县| 怀柔区| 奎屯市| 灌阳县| 泉州市| 中西区| 崇明县| 从化市| 台中市| 抚松县| 光泽县| 呈贡县| 楚雄市| 庄浪县| 和田市| 仁布县| 当涂县| 景洪市| 竹山县| 同仁县| 烟台市| 专栏| 栖霞市| 永州市| 九龙城区| 城口县| http://m.hz0j2r7vo.fun http://www.jx1870getv.fun http://hz0j1r5vo.fun http://jx1870firzv.fun http://wap.hz0j4r8vo.fun http://wap.jx1870exceptv.fun http://www.jx1870forzatv.fun http://www.hz0j4r7vo.fun http://wap.jx1870footv.fun http://jx1870knowv.fun http://www.jx1870enhancev.fun http://www.jx1870launchv.fun http://www.jx1870includev.fun http://wap.jx1870forzatv.fun http://m.jx1870expressv.fun http://www.jx1870izplezentv.fun http://jx1870enterv.fun http://jx1870interestv.fun