国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

textarea的內(nèi)容改變,綁定的model卻沒更新

leeon / 2322人閱讀

摘要:問題描述我修改的內(nèi)容時(shí),綁定的完全沒更新,只能用插件看一下。也就是說與綁定的實(shí)際上是中的。只需改,將顯示綁定到使用對(duì)象的形式來綁定為什么一個(gè)就能解決問題了呢,以第二個(gè)方法為例。

問題描述:
//app.js
angular.module("deapp", [])
.controller("ParentCtrl", ["$scope", ParentCtrl])
.controller("ChildCtrl", ["$scope", ChildCtrl]);

function ParentCtrl($scope) {
  $scope.description = "";
}

function ChildCtrl($scope) {
}

//index.html

我修改textarea的內(nèi)容時(shí),綁定的description完全沒更新,只能用chrome插件ng-inspector看一下。


圖1 初始scope


圖2 輸入后ChildCtrl 出現(xiàn)description

所以可以看到問題變成了Angular Scope Inheritance

Angular Scope Inheritance

我用word文檔畫了scope的繼承圖示,如下


圖3 初始scope


圖 4 錯(cuò)誤的給ChildCtrl添加了description

在這個(gè)圖可以看到實(shí)際上并沒有更新父級(jí)scope的description,反而在當(dāng)前所在的ChildCtrl scope新建了description。也就是說與textarea綁定的model實(shí)際上是ChildCtrl scope中的description。

$scope的繼承是原型鏈繼承,有兩個(gè)特點(diǎn):

讀子類的屬性時(shí),子類有這個(gè)屬性(hasOwnProperty)的時(shí)候則讀子類自己的,子類沒有的時(shí)候讀父類的,不管子類有沒有這個(gè)屬性,在子類上都不會(huì)有新屬性被創(chuàng)建。

寫子類的屬性時(shí),如果子類有這個(gè)屬性(hasOwnProperty)則寫子類的,子類沒有的話就會(huì)在子類上新建一個(gè)同名的新屬性,而父類繼承過來的屬性被隱藏。
————來自http://pinkyjie.com/2015/02/07/prototypal-inheritance-of-scope-in-angularjs/

所以對(duì)于description也是一樣,讀description時(shí),先在ChildCtrl中讀,讀不到就到ParentCtrl中讀,所以事先給ParentCtrl的description設(shè)置的初始值,在頁面刷新后是可以顯示出來的。

但是,寫description的時(shí)候就不一樣了,在ChildCtrl中找不到就直接創(chuàng)建一個(gè)新的屬性,父級(jí)scope的同名屬性就被隱藏了,textarea綁定的模型也就變成了ChildCtrl scope中的description,往后再怎么修改textarea的內(nèi)容,父級(jí)scope的description永遠(yuǎn)保持原來的值。

這不是我想看到的,辦法是有的,使用.就能解決這個(gè)問題了。

只需改html,將textarea顯示綁定到$parent.description

 

使用對(duì)象的形式來綁定description

// app.js
function ParentCtrl($scope) {

 $scope.info = {
   description: "156"
 };

}

function ChildCtrl($scope) {
}

// index.html

 

為什么一個(gè).就能解決問題了呢,以第二個(gè)方法為例。
寫的時(shí)候是寫info.description,需要先讀info,ChildCtrl沒有info,于是去ParentCtrl讀,找到info后,就寫父級(jí)scope的info.description。
Angular Scope Inheritance的詳細(xì)圖文解說

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/86102.html

相關(guān)文章

  • 【Vue原理】VModel - 白話版

    摘要:執(zhí)行的時(shí)候,會(huì)綁定上下文對(duì)象為組件實(shí)例于是中的就能取到組件實(shí)例本身,的代碼塊頂層作用域就綁定為了組件實(shí)例于是內(nèi)部變量的訪問,就會(huì)首先訪問到組件實(shí)例上。其中的獲取,就會(huì)先從組件實(shí)例上獲取,相當(dāng)于。 寫文章不容易,點(diǎn)個(gè)贊唄兄弟專注 Vue 源碼分享,文章分為白話版和 源碼版,白話版助于理解工作原理,源碼版助于了解內(nèi)部詳情,讓我們一起學(xué)習(xí)吧研究基于 Vue版本 【2.5.17】 如果你覺得...

    keke 評(píng)論0 收藏0
  • 【Vue原理】VModel - 源碼版 之 表單元素綁定流程

    摘要:首先,兄弟,容我先說幾句涉及源碼很多,篇幅很長,我都已經(jīng)分了上下三篇了,依然這么長,但是其實(shí)內(nèi)容都差不多一樣,但是我還是毫無保留地給你了。 寫文章不容易,點(diǎn)個(gè)贊唄兄弟專注 Vue 源碼分享,文章分為白話版和 源碼版,白話版助于理解工作原理,源碼版助于了解內(nèi)部詳情,讓我們一起學(xué)習(xí)吧研究基于 Vue版本 【2.5.17】 如果你覺得排版難看,請(qǐng)點(diǎn)擊 下面鏈接 或者 拉到 下面關(guān)注公眾號(hào)也...

    sarva 評(píng)論0 收藏0
  • Vue面試中,經(jīng)常會(huì)被問到面試題/知識(shí)點(diǎn)(2019改進(jìn)版)

    摘要:在第一版的基礎(chǔ)上進(jìn)行了優(yōu)化,新增一些面試題知識(shí)點(diǎn),對(duì)一些知識(shí)點(diǎn)進(jìn)行更加深入的描述??梢栽谠撱^子中進(jìn)一步地更改狀態(tài),不會(huì)觸發(fā)附加的重渲染過程。改變中的狀態(tài)的唯一途徑就是顯式地提交。這兩個(gè)可以在不進(jìn)行刷新的情況下,操作瀏覽器的歷史紀(jì)錄。 在第一版的基礎(chǔ)上進(jìn)行了優(yōu)化,新增一些面試題/知識(shí)點(diǎn),對(duì)一些知識(shí)點(diǎn)進(jìn)行更加深入的描述。 一、對(duì)于MVVM的理解? MVVM 是 Model-View-Vie...

    singerye 評(píng)論0 收藏0
  • 用ES6class模仿Vue寫一個(gè)雙向綁定

    摘要:原文地址的博客點(diǎn)擊在線嘗試一下最終效果如下構(gòu)造器構(gòu)造一個(gè)對(duì)象,包含基本的,,初始化編譯器用于解析綁定到輸入框和下拉框的和元素的點(diǎn)擊事件。 原文地址:Bougie的博客 點(diǎn)擊在線嘗試一下 最終效果如下: showImg(https://segmentfault.com/img/remote/1460000014485648?w=470&h=421); 構(gòu)造器(construct...

    waltr 評(píng)論0 收藏0
  • VueJS源碼學(xué)習(xí)——項(xiàng)目結(jié)構(gòu)&目錄

    摘要:所以整個(gè)的核心,就是如何實(shí)現(xiàn)這三樣?xùn)|西以上摘自囧克斯博客的一篇文章從版本開始這個(gè)時(shí)候的項(xiàng)目結(jié)構(gòu)如下源碼在里面,為打包編譯的代碼,為打包后代碼放置的位置,為測試代碼目錄。節(jié)點(diǎn)類型摘自資源另一位作者關(guān)于源碼解析 本項(xiàng)目的源碼學(xué)習(xí)筆記是基于 Vue 1.0.9 版本的也就是最早的 tag 版本,之所以選擇這個(gè)版本,是因?yàn)檫@個(gè)是最原始沒有太多功能拓展的版本,有利于更好的看到 Vue 最開始的骨...

    ad6623 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<