ng-change消隐掉落

时间:2016-01-24 04:53:46

标签: angularjs

我有这样的下拉设置:

<?php

use Doctrine\ORM\Tools\Console\ConsoleRunner;
use Interop\Container\ContainerInterface;
use Symfony\Component\Console\Application;
use Symfony\Component\Console\ConsoleEvents;
use Symfony\Component\Console\Event\ConsoleTerminateEvent;
use Symfony\Component\EventDispatcher\EventDispatcher;

require "vendor/autoload.php";

/** @var ContainerInterface $container */
$container = require 'app/bootstrap.php';

$dispatcher = new EventDispatcher();
// Post terminate cli command listener
$dispatcher->addListener(ConsoleEvents::TERMINATE, function(ConsoleTerminateEvent $event) {
    $commandName = $event->getCommand()->getName();
    switch($commandName) {
        case 'orm:generate-entities':
            // clear /src/Gedmo dir
            \App\Utils\FilesystemUtils::removeDir('src/Gedmo');
            break;
    }
});

// Create doctrine cli environment via helper
$helperSet = ConsoleRunner::createHelperSet($container->get(\Doctrine\ORM\EntityManager::class));

// Wrap it into Symfony Console App and add some extra commands
$app = new Application('Doctrine Command Line Interface', \Doctrine\ORM\Version::VERSION);
$app->setDispatcher($dispatcher);
$app->setCatchExceptions(true);
$app->setHelperSet($helperSet);
// add default commands
ConsoleRunner::addCommands($app);
// here you may add extra commadts via $app->add(..)
$app->run();

在我的控制器中,我有这个功能:

            <div class="col-sm-2">
                <select class="form-control" name="dataType" id="dataType"
                        ng-model="dataTypes"
                        ng-change="typeCheck()">
                    <option ng-repeat="option in dataTypes" value="{{option.id}}">{{option.name}}</option>
                </select>
            </div>

调用此函数后,有时我的列表会消失!我有时说,因为只有某些元素被调用。

这是我的数组加载到下拉列表中:

        $scope.typeCheck = function () {
            alert($scope.dataTypes);
        };

以下是我的代码fiddle

2 个答案:

答案 0 :(得分:2)

你非常接近,对模型有一点误解,但这样,你使用vm.kendoData = new kendo.data.DataSource({}); vm.getRegistros = function () { vm.loading = true; registroDePontoService.registrosPorPeriodo(vm.registroPorPeriodo) .success(function (result) { vm.kendoData.data = result.registros; }).finally(function () { vm.loading = false; }); }; vm.gridOptions = { columns: [{ field: "date", title: "Date", width: "120px" }, { field: "column1", title: "column1", width: "120px" }, { field: "column2", title: "column2", width: "120px" }] dataType设置ng-model警告所选的数据类型。

ng-change

小提琴https://jsfiddle.net/5extmuqg/

答案 1 :(得分:1)

@ webdad3,很酷。谢谢你的小提琴。

这可以通过几个小的修改来解决。 resultCode==2(在您的函数中)应该变为vm.datatypes。您的选择中的$scope.dataTypes应该是ng-model,而不是dataType。最后,在dataTypes中,也可以参考typeCheck()(单数)。

vm。当您想要使用$scope.dataType语法而不是$ scope时,通常会使用表示法。既然您正在使用$ scope,那就坚持下去吧。并且&lt; select&gt;的ng-模型。 element应该是您要设置的对象,而不是提供选项列表的对象。

Working Fiddle

希望这有帮助