javascript - AngularJs - 将 ng-controller 与 ng-include 一起使用

标签 javascript angularjs angularjs-ng-include ng-controller

这有效:

<div ng-include="'login.html'" flex ng-if="!loggedIn" ng-controller="LoginController"></div>

但是,这不会({{test}} 不输出任何内容):

<ng-include src="'login.html'" flex ng-if="!loggedIn" ng-controller="LoginController"></ng-include>

有什么理由吗?或者这是一个错误?

登录.html:

<p>{{test}}</p>

登录 Controller :

function LoginController($scope){
    $scope.test = 'login';
}

最佳答案

我不太确定“loggedIn”的定义位置,但是当我在父 Controller 上定义它时,两种语法都按预期工作。

Plunkr

<div ng-controller="PrntCtrl">
      <div ng-include="'test.html'" flex ng-if="!loggedIn" ng-controller="TestCtrl"></div>
      <ng-include src="'test.html'" flex ng-if="!loggedIn" ng-controller="TestCtrl"></ng-include>
    </div>

需要考虑的一些问题: 您使用什么版本的 Angular ? 您的应用程序是如何定义的以及 Controller 如何向应用程序注册? “loggedIn”在哪里定义?

关于javascript - AngularJs - 将 ng-controller 与 ng-include 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37128118/

相关文章:

javascript - 无法在React渲染中使用map函数

javascript - 为什么我只能在嵌套闭包链的第一个实例中声明变量?

javascript - angularjs 过滤器不适用于 i18n 文本

javascript - Angular:如何在 Angular 5 中实现类似 ng-include 的功能?

javascript - ng-repeat 与动态 ng-include 和模板变量范围问题

javascript - 当范围变量更新时如何更新模板?

javascript - 在可点击的 div 中制作图像,对操作无响应

javascript - 非阻塞代码执行

javascript - 没有从多选列表框中的选定值中获取id Angular JS

javascript - 如何访问 ng-repeat 生成的表上的字段?