当前位置: 首页 > 面试题库 >

在ng-view外部绑定Angularjs数据

巫马昆琦
2023-03-14
问题内容

我对所有页面都有一个通用模板,其中包含一个菜单栏,它位于ng-view.bar的外面。我位于其中一个页面的内部,ng-view我想将输入数据绑定到此模板区域(该区域位于与输入页面不同的控制器下) )。我的意思是当我输入名称时,该名称将出现在模板区域。可以吗?这是the
****

<body ng-app="sampleApp">

  <div class="container"> 
    <div class="row">
        name is :{{name}}<br/>
  username is :{{uname}}
      <div class="col-md-3">
        <ul class="nav">
          <li><a href="#name"> Add name </a></li>
          <li><a href="#uname"> add username </a></li>
        </ul>
      </div>
      <div class="col-md-9">
        <div ng-view></div>
      </div>
    </div>
  </div>

  <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js"></script>
  <script src="app.js"></script>

</body>

问题答案:

通过遵循始终具有“’
”的“最佳实践”,可以很容易地避免使用基元出现此问题。在您的ng模型中
-观看3分钟值得。Misko演示了ng-switch的原始绑定问题。

有一个 ‘。’ 在您的模型中,将确保原型继承在起作用。所以用

<input type="text" ng-model="someObj.prop1"> rather than
<input type="text" ng-model="prop1">.

— AngularJS Wiki-
范围原型/原型继承的细微差别是什么?

PLNKR上的演示

$scope.obj$rootScope变量一样工作。它是用于原型继承吗?

作用域以模仿应用程序DOM结构的层次结构排列。每个AngularJS应用程序都只有一个根范围,但可以具有任意数量的子范围。

ng-app-> $ rootScope
 |-ng-controller-> $ scope(容器)
    |-ng-view-> $ scope(视图)

通过使用:视图控制器中<input ng-model="obj.name" />ng-model指令使用原型继承$scope.obj从视图外部查找。然后,它可以获取并设置该name对象的属性。

有关更多信息,请参见《AngularJS开发人员指南-范围层次结构》

AngularJS中的作用域形成一个层次结构,典型地继承自树顶部的根作用域。通常这可以忽略不计,因为大多数视图都有自己的控制器,因此也有自己的作用域。

有时,有些数据要对整个应用程序进行全局处理。对于这些,您可以$rootScope像其他作用域一样在其上注入并设置值。由于作用域是从根作用域继承而来的,因此这些值将可用于附加到指令的表达式,就像ng- showlocal上的值一样$scope

当然,全局状态很糟糕,您应该$rootScope谨慎使用,就像(希望)使用任何语言的全局变量一样。特别是,不要将其用于代码,而仅用于数据。如果您想将函数放在上$rootScope,最好将它放在可以在需要的地方注入并且更容易测试的服务中。

相反,请勿创建仅在生命中唯一目的是存储和返回数据位的服务。

-AngularJS常见问题解答-
$rootScope存在,但可用于邪恶



 类似资料:
  • 问题内容: 我有这个reprohttp://embed.plnkr.co/nVCmukG5abpi1Y4ZHkrq,当我单击“ Title3”并在文本框中输入一个值时显示,尽管输入的值显示在UI中,当我单击“单击”按钮时,什么也没有绑定到范围属性$ scope.test。 我不知道ng-switch有什么问题,或者我做错了什么。帮助表示赞赏!!! http://embed.plnkr.co/nVC

  • 问题内容: 我有一个带有ng-view(管理面板)的设置,可让我显示订单。我在ng- view之外有一个搜索框,可以用来修改json请求。我看到过一些访问标题等内容的帖子,但无法使它们正常工作-可能已过时。 主要应用程式内容: 管理控制器: 视图: 问题答案: 如果您要访问以外的内容,我认为更好的方法是也为外部区域创建一个控制器。然后创建服务以在控制器之间共享数据: (也可以放置在标签上-则ng-

  • 问题内容: 我正在尝试处理ng-repeat循环内的范围问题-我浏览了很多问题,但还无法使我的代码正常工作。 控制器代码: 视图: 这是一个小提琴:http : //jsfiddle.net/cyberwombat/zqTah/ 基本上,我有一个包含多行文本的对象(这是一个传单生成器)。用户可以调整每行文本(文本,字体,大小,颜色等),我想为其创建预览。上面的示例仅显示了输入文本的输入字段,我希望

  • 问题内容: 我有2个html页面,以及这两者都是“插入”到通过在URL dependending 属性和路由器供应商,作为我的AngularJS应用程序的一部分。 可以在AngularJS主页 的“连接后端” 下找到一个示例。 我的问题 :有没有办法动画化和之间的过渡? 问题答案: Angularjs 1.1.4现在引入了该指令以帮助动画化不同的元素,尤其是ng- view。 您也可以观看有关此新

  • 问题内容: 我是AngularJS中的一条小鱼,我遇到了这种情况。 正常情况下,AngularJS提供ng-submit指令作为表单中的属性工作,但我需要在外部调用它。 那么,有人遇到过同样的问题吗?如果是,您做了什么? 问题答案: 请用ng-controller包围您的代码,并使用ng单击 范围之外的按钮。 我为您制作了一个jsfiddle示例…尝试: http://jsfiddle.net/x

  • 我目前正在学习SwiftUI,想开发自己的应用程序。我设计了一个和一个,它们应该处理登录背后的所有逻辑。当用户输入错误的用户名/密码时,屏幕上应该会出现一个警报。我用状态变量解决了这个问题。但现在出现了棘手的部分,因为我想将这个变量的绑定传递给中的登录函数。看一下下面的代码: 我现在正在尝试更改登录函数中的错误值: 但我发现了错误 无法赋值:“error”是“let”常量 我认为这是有意义的,因为