第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在angularjs UI-路由器中的狀態(tài)之間共享$Scope數(shù)據(jù)?

如何在angularjs UI-路由器中的狀態(tài)之間共享$Scope數(shù)據(jù)?

拉丁的傳說 2019-06-29 09:59:53
如何在angularjs UI-路由器中的狀態(tài)之間共享$Scope數(shù)據(jù)?如果不在父控制器中使用服務或構造監(jiān)視程序,那么如何讓子狀態(tài)訪問主控制器的$scope.  .state("main", {       controller:'mainController',       url:"/main",       templateUrl: "main_init.html"   })     .state("main.1", {       controller:'mainController',       parent: 'main',       url:"/1",       templateUrl: 'form_1.html'   })     .state("main.2", {       controller:'mainController',       parent: 'main',       url: "/2",       templateUrl: 'form_2.html'   })我無法以子狀態(tài)訪問mainController作用域-或者更確切地說,我得到了該作用域的另一個實例-這不是我想要的。我覺得我錯過了一些簡單的東西。狀態(tài)對象中有一個共享數(shù)據(jù)配置選項,但我不確定是否應該將它用于類似的事情。
查看完整描述

3 回答

?
aluckdog

TA貢獻1847條經(jīng)驗 獲得超7個贊

I?創(chuàng)建工作柱塞,演示如何使用$scope還有UI-路由器。

狀態(tài)定義不變:

$stateProvider????//?States
?.state("main",?{
??????controller:'mainController',
??????url:"/main",
??????templateUrl:?"main_init.html"
??})??
??.state("main.1",?{
??????controller:'mainController',
??????parent:?'main',
??????url:"/1",
??????templateUrl:?'form_1.html'
??})??
??.state("main.2",?{
??????controller:'mainController',
??????parent:?'main',
??????url:?"/2",
??????templateUrl:?'form_2.html'
??})

但是每個州都有不同的控制器。為什么?因為每個view每一個國家獲得new?實例定義的controller..所以既然我們mainController像下面這樣,我們可以確定,如果我們導航到狀態(tài)'main.2'它將被實例化兩次。

controller('mainController',?function?($scope)?{
??$scope.Model?=?$scope.Model?||?{Name?:?"xxx"};})

但是我們能看到的這里,我們檢查一下$scope.Model已經(jīng)存在了.。如果不是(母國)我們實例化它新意?{Name : "xxx"}.

嗯,我的意思是:只有父國會在$scope.Model..其他人都會把它填滿的。多么,怎樣?答案是:

僅通過視圖層次結構進行范圍繼承

請記住,只有在狀態(tài)視圖嵌套的情況下,范圍屬性才會向下繼承。范圍屬性的繼承與狀態(tài)嵌套無關,與視圖(模板)嵌套有關。

您完全可能擁有嵌套狀態(tài),其模板在站點中的各種非嵌套位置填充UI視圖。在此場景中,不能期望在子狀態(tài)視圖中訪問父狀態(tài)視圖的作用域變量。

因此,正如文件中所述。因為我們的子視圖嵌套在父視圖中,所以范圍是繼承的。

理解Scopes

在AngularJS中,子作用域通常是從其父作用域繼承的。
...

有“.”在您的模型中,將確保原型繼承正在發(fā)揮作用。

//?So,?use<input?type="text"?ng-model="someObj.prop1">?//?rather?than<input?type="text"?ng-model="prop1">.

僅此而已。我們從UI-Router視圖和角度范圍,因為我們巧妙地使用了引用類型(Model),即確實有'.'點入ng-model定義-我們現(xiàn)在可以共享數(shù)據(jù)

注:有點“?!痹?code>ng-model="Model.PropertyName簡單地說,有一個reference對象Model {}擁有一些財產:PropertyName


查看完整回答
反對 回復 2019-06-29
?
犯罪嫌疑人X

TA貢獻2080條經(jīng)驗 獲得超4個贊

你可以通過整個范圍$rootScope..如果您只需要范圍的一部分,UI-路由器有一個自定義數(shù)據(jù)特征。

這是如何做一個多步驟的形式。我需要路線包含關于他們在流程中的步驟的信息。

首先,我有一些UI路由器的路由:

??//?Sign?UP?routes
??.state('sign-up',?{
????abstract:?true,
????url:?'/sign-up',
????controller:?'SignupController',
????templateUrl:?'sign-up/index.html',
??})
??.state('sign-up.start',?{
????url:?'-start',
????templateUrl:?'sign-up/sign-up.start.html',
????data:?{?step:?0,?title:?'Welcome?to?Mars!',?},
??})
??.state('sign-up.expertise',?{
????url:?'-expertise',
????templateUrl:?'sign-up/sign-up.expertise.html',
????data:?{?step:?1,?title:?'Your?Expertise'},
??})

注意事項:

  • 這個

    data

    元素在每條路徑中。
  • 這個

    abstract

    SignupController

    ..這是這個多步表單的唯一控制器。這個

    abstract

    不是必需的,但是對于這個用例來說是有意義的。

SignupController.js

angular.module('app').controller('SignupController',?function($scope,?$state)?{
??$scope.state?=?$state;});

在這里,我們得到了UI-路由器的$state穿上它$scope

以下是主要模板“登錄/index.html”,如下所示:

<h2>{{state.current.data.title}}</h2><div>This?is?a?multi-step-progress?control?{{state.current.data.step}}</div><form?id="signUpForm"?name="signUpForm"?novalidate>
??<div?ui-view></div></form>

子模板可以是他們喜歡的任何東西。


查看完整回答
反對 回復 2019-06-29
?
素胚勾勒不出你

TA貢獻1827條經(jīng)驗 獲得超9個贊

其思想是在父->子繼承中使用范圍:

 .state("main", {
      controller:'mainController',
      abstract: true,
      url:"/main",
      templateUrl: "main_init.html"
  })  
  .state("main.1", {
      controller:'mainController1',
      parent: 'main',
      url:"/1",
      templateUrl: 'form_1.html'
  })  
  .state("main.2", {
      controller:'mainController2',
      parent: 'main',
      url: "/2",
      templateUrl: 'form_2.html'
  })

比使用簡單,您有3個控制器,一個是共享的(MainController),每個視圖都有自己的。


查看完整回答
反對 回復 2019-06-29
  • 3 回答
  • 0 關注
  • 750 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號