1

これは機能します:

<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>

何か理由はありますか?それともバグですか?

login.html:

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

ログインコントローラー:

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

2 に答える 2

1

「loggedIn」がどこで定義されているか正確にはわかりませんが、親コントローラーで定義すると、両方の構文が期待どおりに機能します。

プランカー

<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 を使用していますか? アプリはどのように定義され、コントローラーはどのようにアプリに登録されていますか? 「loggedIn」はどこで定義されていますか?

于 2016-05-10T03:44:22.937 に答える