0

で初期化しようとして$scope.selectedModelmodel1ますng-init。ただし、次の HTML はこれを実現できません。

<div class="productImage">
    <div class="imageGallery" ng-init="selectedModel='model1'">

        <div ng-repeat="mod in pTab" ng-if="modelIsActive(mod)">
            <div ng-repeat="img in mod.galleryImages">
                <img class="overviewProductImage" ng-src="{{img.image}}" ng-if="productImageIsActive(img, $index)"/>
            </div>
        </div>  

    </div>
</div>

そして、selectedModel を使用する modelIsActive メソッドは次のとおりです。

$scope.modelIsActive = function (tab) {
            return tab.model== $scope.selectedModel;
}

最終的には使用したいと思いますng-init="selectedModel= mod.model"が、それがうまくいかなかったときは、単純な文字列を置き換え'model1'ましたが、まだselectedModelその文字列に初期化されていませんでした。

ng-init を使用して設定するにはどうすればよい$scope.selectedModelですか? または、何か他のものを使用する必要がありますか?$watchまたは同様のものを使用する必要がありますか?

4

2 に答える 2

0

可能であれば、selectedModelを使用して HTML ではなくコントローラーで初期化することをお勧めしng-initます。このディレクティブは、予期される動作を行うことができます。

ただし、本当に必要な場合は、少なくとも$scope.selectedModelコントローラーで定義してから ng-init に値を設定するか、次のような値を直接ではなくオブジェクトを使用する必要があります。

<div ng-init="model.selectedModel = 'model11'">

(ただし、コントローラーで初期化する必要があり$scope.modelます)

于 2015-02-26T22:08:16.763 に答える